ファイル名にふった連番の一桁部分を0付きに変更するスクリプト
参考:MakeMyDay: ファイル名にふった連番の一桁部分を0付きに変更するスクリプト
#!/bin/bash for f in *.jpg; do if [[ $f =~ .*_[1-9]\.jpg ]]; then mv $f `echo $f | sed 's/\(.*_\)\([1-9]\)\(.*$\)/\1\x30\2\3/'` if [ $? -eq 0 ]; then echo $f | sed 's/\(.*_\)\([1-9]\)\(.*$\)/\1\x30\2\3 :変更/' fi fi done
1年以上経つと、こういうスクリプトを作っていたこと自体すっかり忘れていました。1から始めるか01から始めるか悩ましいところがあります。
ファイル名の変更にはファイル名変換アプリのpyrenamerを使って次のようにやることが多いです。GUIのアプリが起動します。
pyrenamer `pwd`
普通にアプリを起動するとディレクトリを遡って指定しなければならず、これがかなり面倒です。./などという相対パスの指定は出来ないみたいなので、pwdコマンドを使っています。
連番を01でつけるときは次のようにしています。
_{num2+1}.jpg