大量改檔名
在 ubuntu 底下,有時會遇到要大量改檔名,如英文大寫改小寫,工作量很大,不可能一個個手動去改。
若能用正規表示法(regular expression 簡稱:regx)來改檔名,會是最精準,又快速的方法。
但是改檔名的指令 mv 和 rename 並不支援正規表示法的語法
所以就得透過以下的方法,才能用正規表示法來快速、大量的改檔名
將當前目錄底下的 foo 全改名為 bar
改檔名前的預覽指令
find . -type f -print0 | xargs -0 rename -n ‘s/foo/bar/g’
實際改檔名的指令
find . -type f -print0 | xargs -0 rename ‘s/foo/bar/g’
範例:
將當前目錄下的副檔名 .Wma 全改成小寫的 .wma
因為 . 是特殊符號,它有特殊功能,所以我們要在 點的前面加個 \ 倒斜線,來迴避掉它原本的特殊功能
所以指令寫起來會是這樣
find . -type f -print0 | xargs -0 rename -n ‘s/\.Wma/\.wma/g’
補充: (以下內容我還沒測過)
rename 此指令也有支援正規表示法
用法:
rename ‘y/a-z/A-Z/’ *
範例: 將 .JPG 檔名全改成小寫 .jpg
rename ‘s/\.JPG$/\.jpg/’ *.JPG