我希望能用Shell脚本按日期对所有文件进行排序。
例如,在/Users/KanZ/Desktop/Project/Test/
目录下有文件M1.h
、A2.h
和F4.h
。
每个文件都有不同的时间。如何按照日期和时间从旧到新对所有这些文件进行排序?
目前我有一个重命名脚本:
cd /Users/KanZ/Desktop/Project/Test/
n=1
for file in *.jpg;
do
echo $file prefix=M file_name=M$n.jpg
echo $file_name n=$(( $n+1 ))
mv $file $file_name
done
第一次运行脚本时,JPG文件将是
M1.jpg
、M2.jpg
和 M3.jpg
,但如果我向该目录添加一个名为 A1.jpg
的新文件并再次运行脚本,则 M1.jpg
、M2.jpg
和 M3.jpg
将被 M4.jpg
替换(在运行脚本之前,此文件名为 A1.jpg
),因为第一个字母是 A
,出现在 M
之前。我希望得到的是
M1
、M2
、M3
和 M4.jpg
。
*.h
文件进行排序,但评论和代码反映出要对*.jpg
文件进行排序。在提问时保持一致性非常重要。 - the Tin Man