複数のファイルを指定して、同一名で連番をつけるスクリプト
適当に作りました。個人用なのでご利用になる場合取り扱いには十分注意が必要だと思います。
#!/bin/bash cnt=`ls -1 $* | wc -l` echo $* echo "${cnt}個の対象ファイルがあります。変更ファイル名を指定して下さい。" read fn n=1 for f in $*; do mv $f ${fn}_`printf "%02d" ${n}`.jpg n=`expr $n + 1` done
実行例:
ak@ak-Prime-Series:~/aa % for i in `seq -w 1 30`;do touch abc_${i}.txt; done ak@ak-Prime-Series:~/aa % ls abc_01.txt abc_06.txt abc_11.txt abc_16.txt abc_21.txt abc_26.txt abc_02.txt abc_07.txt abc_12.txt abc_17.txt abc_22.txt abc_27.txt abc_03.txt abc_08.txt abc_13.txt abc_18.txt abc_23.txt abc_28.txt abc_04.txt abc_09.txt abc_14.txt abc_19.txt abc_24.txt abc_29.txt abc_05.txt abc_10.txt abc_15.txt abc_20.txt abc_25.txt abc_30.txt ak@ak-Prime-Series:~/aa % h-rename-dejikame.sh abc_{09..17}* abc_09.txt abc_10.txt abc_11.txt abc_12.txt abc_13.txt abc_14.txt abc_15.txt abc_16.txt abc_17.txt 9個の対象ファイルがあります。変更ファイル名を指定して下さい。 テスト中のファイル ak@ak-Prime-Series:~/aa % ls abc_01.txt abc_18.txt abc_26.txt テスト中のファイル_04.jpg abc_02.txt abc_19.txt abc_27.txt テスト中のファイル_05.jpg abc_03.txt abc_20.txt abc_28.txt テスト中のファイル_06.jpg abc_04.txt abc_21.txt abc_29.txt テスト中のファイル_07.jpg abc_05.txt abc_22.txt abc_30.txt テスト中のファイル_08.jpg abc_06.txt abc_23.txt テスト中のファイル_01.jpg テスト中のファイル_09.jpg abc_07.txt abc_24.txt テスト中のファイル_02.jpg abc_08.txt abc_25.txt テスト中のファイル_03.jpg
コメントを残す