やりたいこと
ツール等で一括ダウンロードしたファイルをまとめて操作するために、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の組込変数で現在処理しているレコード番号