我使用find命令在bash中查找某些类型的文件。一切顺利,显示给我的结果只包含文件名,但不包含文件的(最后修改)日期。我试图将它管道输入ls或ls -ltr但它只是没有显示结果中的提交列,我也试过了:
ls -ltr | find . -ctime 1
但实际上我没有工作。 您能否指导我如何查看find命令返回的文件的归档?
答案 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分隔。