Linux 批次修改大量檔案名稱

學 Windows 一同, Linux 跟其他 Unix 環境, 檔案名及目錄名稱都有大小寫的分別, 例如 “img001.jpg” 跟 “IMG001.jpg” 是不同的。

如果只有幾個檔案, 直接用 mv 修改檔案名稱就好, 例如:

$ mv IMG001.jpg img001.jpg

但如果檔案有幾百個, 甚至幾千個, 一個一個檔案用 mv 修改, 可能到最後手指頭都會改到痛。還好 Linux 下有一個可以批次修改大量檔案名稱的工具: rename。

以上面的例如, 要將所有 .jpg 檔案的檔案名稱, 修改為全部英文小寫, rename 的語法是這樣的:

rename IMG img *.jpg

如果要修改副檔名, 例如將 .html 檔案全部修改為 .htm 副檔名, 可以這樣:

rename .html .htm *.html

除了用 rename 指令外, 也有很多其他方法, 用 shell 直接修改 .html 副檔名為 .htm:




Leave a Reply