我有多個資料夾,每個資料夾中大約有 175 個檔案。檔案名稱就像
1.wav
2.wav
3.wav
......
175.wav
我必須將它們重命名為
A1.wav
A2.wav
A3.wav
......
A175.wav
換句話說,我必須在先前的檔案名稱中附加字母。
我想知道是否有一種簡單的方法可以做到這一點。
Ubuntu版本是16.10
答案1
有很多方法,我自己的選擇是「for」迴圈:
for f in *.wav ; do mv "$f" "A$f" ; done
這很簡單並且可以輕鬆修改以滿足其他需求...
答案2
用戶prename
命令:
$ prename -nv 's/^(.*)$/A$1/' *.wav
1.wav renamed as A1.wav
2.wav renamed as A2.wav
3.wav renamed as A3.wav
讀起來很簡單:
*.wav
允許 shell 將通配符展開以列出所有以.wav
.當 shell 運行完整命令時,計算機將看到prename -nv 's/^(.*)$/A$1/' 1.wav 2.wav 3.wav
等等作為實際命令。- 實際上,它
's/^(.*)$/A$1/'
是s/PATTERN/REPLACEMENT
帶有分組的正則表達式(.*)
,它允許我們將文件的整個名稱從頭到尾分組^
,$
並將其稱為$1
.
請注意,-nv
開關用於 verbose-v
和 dry-run -n
。如果您對測試運行感到滿意,請刪除-n
以套用實際的重新命名。
答案3
使用rename
:
rename 's/([0-9]+).wav/A\1.wav/' *.wav
s/SEARCH-FOR/REPLACE-WITH/ within-this-files
([0-9]+)
儲存數字部分,然後我們可以使用 再次使用它\1
。A\1.wav
:A
+ (數字部分) +.wav