mvコマンドで変更することの多いファイル名
renameコマンドでワイルドカードを使って効率的にファイル名を変更します
結論
renameコマンドを利用して変換する文字列を設定します
変換対象の文字列の設定にやや癖がありますので注意が必要です
$ rename "s/変更前文字列/変更後文字列/;" ファイル名1 ファイル名2 ...
下記が利用できる場合はこちらでも可能
$ rename 変更前文字列 変更後文字列 ファイル名1 ファイル名2 ...
こちらは注意点として環境によってはエラーが発生するため注意
$ ls
sample_1.jpg sample_3.JPG temp_2.jpg
# tempをsampleに変更
$ rename temp sample ./temp_1.jpg ./temp_3.JPG
Bareword "temp" not allowed while "strict subs" in use at (user-supplied code).
使用例
$ ls
temp_1.jpg temp_2.jpg temp_3.JPG
temp_1.jpgとtemp_3.jpgのファイル名を
sample_1.jpgとsample_3.jpgに一括して変更します
$ rename "s/temp/sample/;" ./temp_1.jpg ./temp_3.JPG
$ ls
sample_1.jpg sample_3.JPG temp_2.jpg
もちろんワイルドカードを使っての変更も可能です
$ ls
sample_1.jpg sample_3.JPG temp_2.jpg
# ./配下のsample_に該当するファイルを対象にsample_をtemp_に変更
$ rename "s/sample_/temp_/;" ./sample_*
$ ls
temp_1.jpg temp_2.jpg temp_3.JPG
正規表現を使って変更することも可能です
$ ls
temp_1.jpg temp_2.jpg temp_3.JPG
# ./配下の全てのファイルを対象にjpgまたはJPGをjpegに変更
$ rename "s/jpg|JPG/jpeg/;" ./*
$ ls
temp_1.jpeg temp_2.jpeg temp_3.jpeg
mvコマンドを何回も打つよりもファイル名の変更が楽になります
日々の作業負担軽減に繋がれば幸いです
0 件のコメント :
コメントを投稿