在資料夾中先前的名稱前面加上字母。 (重新命名)

在資料夾中先前的名稱前面加上字母。 (重新命名)

我有多個資料夾,每個資料夾中大約有 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

相關內容