あるフォルダ内のファイル名を一括で連番のファイル名に変換したい時のスクリプト。
#!/bin/bash opt_test=false while getopts t opt; do case $opt in t) opt_test=true ;; esac done shift $((OPTIND -1)) prefix=$1 shift i=1 for oldname in $*; do ext="${oldname##*.}" newname="image-"`printf "%04d" $i`.$ext if $opt_test; then echo $oldname "->" $newname else mv $oldname $prefix$newname fi i=`expr $i + 1` done
スポンサード・リンク
上記のスクリプトをseqrenameというファイル名で保存し、下記のように実行すると~/photo以下の拡張子.jpgファイルのファイル名が連番で振られます。
※元ファイル名を変更するので注意してください。
sudo ls ~/photo/*.jpg | sort -k 1 -n | xargs ~/seqrename ./photo/