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

问题描述 投票:0回答:4

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

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

ls -lrt

并使用

按名称查找文件

找到。 -name“文件名*”

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

[编辑] 未排序 enter image description here

linux shell sorting
4个回答
10
投票
find . -name "filename" -printf '%TY:%Tm:%Td %TH:%TM %h/%f\n' | sort

忘记 xargs。 “查找”和“排序”都是您需要的工具。


4
投票

我最好的猜测是使用

xargs

find . -name 'filename*' -print0 | xargs -0 /bin/ls -ltr

参数数量有上限,但这应该不是问题,除非它们占用超过 32kB(阅读更多这里),在这种情况下,您将获得排序文件块:)


2
投票
find . -name "filename" -exec ls --full-time \{\} \; | cut -d' ' -f7- | sort

您可能需要根据您的 ls 输出版本来调整 cut 命令。


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://linoxy.com/linux-how-to/how-sort-files-date-using-ls-command-linux/

© www.soinside.com 2019 - 2024. All rights reserved.