Linux 修改檔案名稱
- Linux 單次修改檔案名稱。
- Linux 批次修改檔案名稱。
單檔案命名用 mv
指令 mv,其實最主要的功能是拿來搬移檔案,不過在搬移的時候能夠進行重新指定檔名,所以就被順理成章的成為我們重新命名的指令了。
1 | # 指令 舊檔案 新檔案 |

多檔案命名用 rename
rename 指令可以做大量的檔案更名,它使用 perl 的正規表式法來訂定格式,也稱為 perl-rename,因此 prename 與 rename 兩個指令是相同的。不過在 Ubuntu 20.04 之後,rename 指令已經沒有內建了,必須自行安裝。
在 Ubuntu 20.04 內建有另一款叫 rename.ul 的更名指令,兩個指令的使用方法並不相同,這邊先以 perl rename 來試範一些我常用的更名方法。
安裝
Ubuntu 20.04 安裝 rename(Ubuntu 18.04 以前已內建)
1 | $ sudo apt install rename |
基本用法
1 | $ rename 's/原字串/新字串/' 要改的檔案 |
-n:僅列出更名後的結果,不會真的進行更名,建議更名前一定要檢查。-d:不對資料夾做更名,僅針對目標路徑下的檔案。
基本檔名更改
將 A1、A2、A3 改為 B1、B2、B3
1 | # 所有檔案 |
- 若碰到需要修改特殊字元,需再前面加上反斜線(
\)。
在開頭/結尾插入文字
將 A1、A2、A3 改為 ZA1、ZA2、ZA3
1 | # 所有檔案 |
將 A1、A2、A3 改為 A10、A20、A30
1 | # 所有檔案 |
批次更改副檔名
將 .html 改成 .phtml
1 | # 所有 .html 結尾的檔案 |
.的前面需加上跳脫符號\。- 原檔名加上
$是因為要改的是結尾的副檔名,沒有加$的話,如果原檔名中也有 html 的字串,會被一併更改。
大小寫轉換
大寫轉小寫
1 | $ rename 'y/A-Z/a-z/' * |
小寫轉大寫
1 | $ rename 'y/a-z/A-Z/' * |