在Linux中,可以使用以下命令來批量替換文件名:
rename
命令:rename 's/原字符串/替換字符串/' 文件名模式
例如,將所有以“abc”開頭的文件名替換為以“xyz”開頭:
rename 's/^abc/xyz/' abc*
sed
命令:for file in 文件名模式; do mv "$file" "$(echo "$file" | sed 's/原字符串/替換字符串/')"; done
例如,將以“abc”開頭的文件名中的“abc”替換為“xyz”:
for file in abc*; do mv "$file" "$(echo "$file" | sed 's/abc/xyz/')"; done
find
命令和mv
命令:find 目錄路徑 -name "文件名模式" -execdir mv {} $(echo {} | sed 's/原字符串/替換字符串/') \;
例如,將目錄/path/to/files/
下所有以“abc”開頭的文件名中的“abc”替換為“xyz”:
find /path/to/files/ -name "abc*" -execdir mv {} $(echo {} | sed 's/abc/xyz/') \;
請注意,這些命令在批量替換文件名時需要小心操作,確保替換字符串的模式不會匹配到錯誤的文件名。在進行替換前,最好先通過相關命令進行測試,以避免意外修改。