我想用Shell腳本按日期排序所有文件。如何使用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'文件。提問時一致性很重要。 –