如何在bash中查看find命令的结果文件日期

时间:2012-05-21 07:05:18

标签: bash find ls

我使用find命令在bash中查找某些类型的文件。一切顺利,显示给我的结果只包含文件名,但不包含文件的(最后修改)日期。我试图将它管道输入ls或ls -ltr但它只是没有显示结果中的提交列,我也试过了:

ls -ltr | find . -ctime 1

但实际上我没有工作。 您能否指导我如何查看find命令返回的文件的归档?

3 个答案:

答案 0 :(得分:8)

您需要xargs-exec

find . -ctime 1 -exec ls -l {} \;

find . -ctime 1 | xargs ls -l

(第一个在每个找到的文件上单独执行ls,第二个将它们组合成一个或多个大ls个调用,这样它们的格式可能稍微好一点。)

答案 1 :(得分:5)

如果你想要的只是显示ls like输出,你可以使用find的-ls选项:

$ find . -name resolv.conf -ls
1048592    8 -rw-r--r--   1 root     root          126 Dec  9 10:12 ./resolv.conf

如果您只想要时间戳,则需要查看-printf选项

$ find . -name resolv.conf -printf "%a\n"
Mon May 21 09:15:24 2012

答案 2 :(得分:2)

find . -ctime 1 -printf '%t\t%p\n'

打印日期时间和文件路径,以␉ character分隔。