LoginSignup
55
28

More than 5 years have passed since last update.

ディレクトリ内のファイル名をまとめて変更(連番付与)する

Posted at

やりたいこと

ツール等で一括ダウンロードしたファイルをまとめて操作するために、WORD+連番の形式に一括で変換する。

元ファイル名

ls
>0-9876589.png 0987654678.png 234567.png 32456789654.png

変更後ファイル名

ls
>test001.png  test002.png test003.png test004.png

やり方

ls | awk '{ printf "mv %s test%03d.png\n", $0, NR }'

上記コマンドで変更後のファイル名を一旦確認

mv 0-9876589.png test001.png
mv 0987654678.png test002.png
mv 234567.png test003.png
mv 32456789654.png test004.png

問題がなければ上記のコマンドの結果をパイプでshに流してコマンド(mv)実行

ls | awk '{ printf "mv %s test%03d.png\n", $0, NR }' | sh

※コマンド補足

awk コマンドでテキスト加工をしてファイル名変更用のコマンドを生成する。
mv %s test%03d.png¥n %sは文字列、%03dは3桁0埋めの数値文字列
$0でlsの表示結果(元のファイル名)
NRはawkの組込変数で現在処理しているレコード番号

55
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
55
28