rename
コマンドでできます。
はじめに
aaa-1.txt aaa-2.txt aaa-3.txt
このようなファイルがあったときに、
bbb-1.txt bbb-2.txt bbb-3.txt
のようなファイル名に、CLIコマンドで一括変更したい。
やり方の備忘録です。
# 作業環境: Amazon Linux 2023 $ cat /etc/*release Amazon Linux release 2023 (Amazon Linux) NAME="Amazon Linux" VERSION="2023"
renameコマンド
rename
コマンドを使えば、ファイル名の一括変更が可能です。
コマンドのmanページ:
rename(1) - Linux manual page
基本的な使い方
基本的な使い方はこちら:
rename <置換対象の文字列表現> <置換後の文字列> <ファイル名>...
ここで<置換対象の文字列表現>
や<ファイル名>
にはワイルドカードを使うことも可能です。
そのほかオプション情報を含めたhelp情報も置いておきます:
$ rename --help Usage: rename [options] <expression> <replacement> <file>... Rename files. Options: -v, --verbose explain what is being done -s, --symlink act on the target of symlinks -n, --no-act do not make any changes -o, --no-overwrite don't overwrite existing files -i, --interactive prompt before overwrite -h, --help display this help -V, --version display version For more details see rename(1).
ファイル名を一括変更する
では実際にファイル名を一括変更します。
現在下記のようなファイルがあります。
$ ls
aaa-1.txt aaa-2.txt aaa-3.txt
このファイル名のaaa
部分をbbb
に一括変更するには、次のコマンドを実行します。
# rename <置換対象の文字列表現> <置換後の文字列> <ファイル名>
rename aaa bbb aaa-*.txt
実行後、期待通りファイル名が一括変更されました。
$ ls
bbb-1.txt bbb-2.txt bbb-3.txt
おわりに
以上、Linuxでファイル名をコマンド一括変更するちょっとした備忘録でした。
どなたかの参考になれば幸いです。
[関連記事]