可能的重複:
重新命名多個檔案(更改副檔名)
假設在我的當前/工作目錄中我有五個檔案:
file1.xvg
file2.xvg
file3.xvg
file1.eps
file2.eps
有什麼方法可以用擴展名重命名當前/工作目錄中的所有文件.xvg並給他們新的擴展。(離開.eps單獨文件)?這可以用rename
、mv
或來完成mmv
嗎?我正在使用 Ubuntu Linux。謝謝!
答案1
對於您的特定問題,此命令將起作用。驗證您對建議的重新命名感到滿意,然後刪除-n
以繼續操作。
rename -n 's/\.xvg$/.txt/' *.xvg
這基本上意味著對於當前目錄中具有擴展名的所有文件,找到以 ( ).xvg
結尾的文件並將名稱的該部分更改為.$
.xvg
.txt
更多詳細資訊和示例如下。
是的,該rename
命令將為您執行此操作。一個簡短的範例,其中我將所有檔案重新命名為擴展名.html
,.html_bak
忽略目錄中的其他檔案。
我會強烈地建議使用-n
命令列選項第一的(下面解釋)以查看在執行實際命令之前會發生什麼變化。
我從以下內容開始:
$ ls
a.html a.txt b.html htmlfile
方法-n
是進行“試運行”..只是顯示會發生什麼變化,而不是改變任何東西!
$ rename -n 's/\.html$/.html_bak/' *
a.html renamed as a.html_bak
b.html renamed as b.html_bak
原來的文件還在。
$ ls
a.html a.txt b.html htmlfile
現在說實話:
$ rename 's/\.html$/.html_bak/' *
文件已被重新命名。
$ ls
a.html_bak a.txt b.html_bak htmlfile
在上面的範例中,我用於*
指定要考慮進行重新命名操作的檔案。我可以將其限制為.html
僅具有*.html
.
有關更多信息,請參閱重命名手冊頁
答案2
這可以這樣做:
rename 's/xvg$/txt/' *.xvg
glob 模式確保只有*.xvg
檔案受到影響。