unix 如何查找特定模式的文件并根据文件修改时间戳列出文件名

3htmauhk  于 2023-05-28  发布在  Unix
关注(0)|答案(1)|浏览(200)

我有一个要求,以确定文件列表(从过去7天)具有特定的模式-说,从大量的存档文件和打印文件名根据其文件修改的时间戳。
有什么想法吗

find /Source -name "TEST\_\*" -mtime -7 -print0| xargs -0 grep -l "pattern"

得到了文件名-需要将其按文件修改时间戳排序。

csga3l58

csga3l581#

您应该使用stat -c %Ystat -c %y
整个语句可以是这样的:

find /Source -name "TEST\_\*" -mtime -7 -print0| xargs -0 -i  sh -c 'echo "$(stat -c %y "{}") {}"' | sort -rn

find /Source -name "TEST\_\*" -mtime -7 -print0| xargs -0 -i  sh -c 'echo "$(stat -c %Y "{}") {}"' | sort -rn

我在这里找到了xargs的帮助:Running multiple commands with xargs
来自man stat:

%y   time of last data modification, human-readable
  %Y   time of last data modification, seconds since Epoch

相关问题