簡體   English   中英

如何找到一個模式並重命名文件,在文件名中的匹配模式的兩個部分之間使用前綴插入一個字符?

[英]How do I find a pattern and rename the file inserting a character between 2 parts of the matching pattern in the filename using prename?

我非常接近這個工作,例如這將工作,但是在我插入的 0 字符之前和之后有一個額外的空間。 我不確定如何取出這個空間並仍然正確解析變量。

將“3 - 劇集名稱”重命名為“03 - 劇集名稱”:

find . -type f -name '[[:digit:]] - [[:alpha:]]*' -execdir prename -n 's/(.*\/)(\d - \w.*)/$1 0 $2/g' {} +

您可以在替換模式中使用明確的反向引用語法${n}${1}0$2

find . -type f -name '[[:digit:]] - [[:alpha:]]*' -execdir prename -n 's/(.*\/)(\d - \w.*)/${1}0$2/' {} +

請注意,這里不需要g修飾符,您只需執行一次替換。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM