我在bash中使用find命令查找某些类型的文件。一切都很顺利,除非显示给我的结果只包含文件名而不是文件的(最后修改)日期。我尝试将其管道传输到ls或ls -ltr,但结果中并没有显示文件日期列,我也尝试了以下方法:
ls -ltr | find . -ctime 1
但实际上我没有工作。您能指导我如何查看由find命令返回的文件的文件日期吗?
对于这个问题,你需要使用xargs
或者-exec
:
find . -ctime 1 -exec ls -l {} \;
find . -ctime 1 | xargs ls -l
(第一个命令会逐个对每个找到的文件执行ls
,而第二个命令会将它们分批进行大规模的ls
操作,从而可以稍微更好地格式化。)
-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
-mtime
是修改时间。 - Dennis Williamson