Linux按创建日期和给定文件名组合排序文件

时间:2014-01-14 13:17:42

标签: linux shell sorting

我需要将这些组合到命令中,以便按照使用指定的“文件名”创建的日期排序列表。

我知道按日期排序文件可以通过以下方式实现:

  

ls -lrt

并使用

按名称查找文件
  找到。 -name“filename *”

我不知道如何将这两者结合起来。我试过一个管道,但我没有得到正确的结果。

[编辑] 没有排序 enter image description here

4 个答案:

答案 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/