我需要将这些组合到命令中,以便按照使用指定的“文件名”创建的日期排序列表。
我知道按日期排序文件可以通过以下方式实现:
ls -lrt
并使用
按名称查找文件找到。 -name“filename *”
我不知道如何将这两者结合起来。我试过一个管道,但我没有得到正确的结果。
[编辑] 没有排序
答案 0 :(得分:6)
find . -name "filename" -printf '%TY:%Tm:%Td %TH:%Tm %h/%f\n' | sort
忘掉xargs。 “查找”和“排序”是您需要的所有工具。
答案 1 :(得分:4)
我最好的猜测是使用xargs
:
find . -name 'filename*' -print0 | xargs -0 /bin/ls -ltr
参数的数量有一个上限,但它不应该是一个问题,除非它们占用超过32kB(阅读更多here),在这种情况下你将获得已排序文件的块:)< / p>
答案 2 :(得分:2)
find . -name "filename" -exec ls --full-time \{\} \; | cut -d' ' -f7- | sort
您可能需要根据您的ls输出版本调整剪切命令。
答案 3 :(得分:0)
检查下面共享的命令:
1)列出上次修改日期/时间的文件目录 要列出文件并在顶部显示最后修改的文件,我们将在ls命令中使用-lt选项。
$ ls -lt /run
output
total 24
-rw-rw-r--. 1 root utmp 2304 Sep 8 14:58 utmp
-rw-r--r--. 1 root root 4 Sep 8 12:41 dhclient-eth0.pid
drwxr-xr-x. 4 root root 100 Sep 8 03:31 lock
drwxr-xr-x. 3 root root 60 Sep 7 23:11 user
drwxr-xr-x. 7 root root 160 Aug 26 14:59 udev
drwxr-xr-x. 2 root root 60 Aug 21 13:18 tuned
https://linoxide.com/linux-how-to/how-sort-files-date-using-ls-command-linux/