次の形式で名前付き数百のファイルを含むフォトディレクトリがあります。
2013-08-02 19.21.27.jpg
最初の10文字(日付)を維持し、「-001」などを追加し、各日付が連続するようにしたいと思います。
出力は次のとおりです。
2013-08-02-001.jpg
2013-08-02-002.jpg
2013-08-03-001.jpg
など。
その後、以下を使用してjpgのサイズを変更する予定です。
for file in *.jpg; do convert $file -resize 900x900\> 900x900-$file; done
ベストアンサー1
最も簡単な方法は、おそらくPerlのハッシュを使用することです。
perl -e '
for (<*.jpg>){
$date = substr($_,0,10);
$counts{$date}++;
rename $_ => "$date-".sprintf "%03d",$counts{$date}.".jpg";
}
'
ただし、このコードはテストされていないことに注意してください。まず、ダミーファイルで試してみてください。