シェルスクリプトでファイル名を一括で昇順数字ファイル名に変換する方法

ブログ

Renaming files in a folder to sequential numbersから

For Example sadf.jpg to 0001.jpgwrjr3.jpg to 0002.jpg and so on, the number of leading zeroes depending on the total amount of files (no need for extra zeroes if not needed).

sadf.jpg を 0001.jpgに、wrjr3.jpg を 0002.jpgにファイル名を変える、みたいに一括でフィアル名変更できないかな?という質問に対しての回答がこちら↓

a=1
for i in *.jpg; do
  new=$(printf "%04d.jpg" "$a") #04 pad to length of 4
  mv -i -- "$i" "$new"
  let a=a+1
done

上のコードを mvname.sh みたいなファイル名にして保存しておいて、

bash ./mvname.sh

とすれば実行できる。元には戻せないので注意。

タイトルとURLをコピーしました