我有一个照片目录,其中有数百个文件,其命名格式如下:
2013-08-02 19.21.27.jpg
我希望保留前 10 个字符(日期)并附加“-001”等,每个日期都是连续的。
输出将是:
2013-08-02-001.jpg
2013-08-02-002.jpg
2013-08-03-001.jpg
ETC。
然后我计划使用以下方法调整 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";
}
'
但请注意,此代码未经测试。首先在虚拟文件上尝试一下。