kan*_*wit 7 linux sorting 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
Run Code Online (Sandbox Code Playgroud)
我第一次运行脚本中的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
.
ckh*_*han 10
该ls
命令可以按上次修改时间轻松排序:
$ ls -1t /Users/KanZ/Desktop/Project/Test
Run Code Online (Sandbox Code Playgroud)
要反转排序,请包含以下-r
选项:
$ ls -1tr /Users/KanZ/Desktop/Project/Test
Run Code Online (Sandbox Code Playgroud)
包括1
tell ls
每行输出一个文件而没有额外的元数据(如长度,修改时间等),如果你需要将列表发送到其他命令进行进一步处理,这通常是shell脚本所需要的.
归档时间: |
|
查看次数: |
16364 次 |
最近记录: |