Linuxでファイル名をバッチで置き換える方法
Linuxにおいては、以下のコマンドを用いてファイル名を一括置換することができます。
- 名前を変える
rename 's/原字符串/替换字符串/' 文件名模式
例えば、「abc」から始まるすべてのファイル名を「xyz」から始まるファイル名に置き換えます。
rename 's/^abc/xyz/' abc*
- ただちに
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 目录路径 -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/') \;
ファイル名のバッチ置換を行う場合は、置換文字列のパターンが誤ったファイル名にマッチしないよう注意してください。置換を実行する前に、関連コマンドを使用してテストを行い、誤った修正を防ぐことをお勧めします。