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 件のコメント :
コメントを投稿