在“查找”命令中列出文件的时间戳


26

在bash中,如果使用$ find ./ -name "*.sqlite",它将列出当前目录中的所有sqlite文件。我还想查看文件的修改时间,有人可以给我一些帮助吗?

Answers:


34

您可以添加find以下表达式:

-printf '%Tc %p\n'

看到像

Sun Aug 14 06:29:38 2011 ./.nx/config/host.nxs

-printf '%TD %TT %p\n'

08/14/11 06:29:38.2184481010 ./.nx/config/host.nxs

或者-printf '%T+ %p\n'如果你有GNU find,看

2011-08-14+06:29:38.2184481010 ./.nx/config/host.nxs

最后一个(如果可用)对于时间排序目的也很有用。

见手册页find,在这里谈论printf


-printf在OS-X中不起作用。是否有等效于此命令的OS-X版本?
WanderingMind

@WanderingMind:在OS-X中,我建议安装MacPorts,它提供许多UNIX应用程序,尤其是GNU工具,例如GNU find。
enzotib

22

快速获取有关所找到文件的详细信息的方法find是使用-lsoutput选项。

find ./ -name "*.sqlite" -ls

为了获得更精确的结果,恩佐替布的答案正确的


我给了我一个赞,但是它不能正确显示日期,因此很难找到“最新”。
lpapp 2015年

这是我唯一知道急需的-ls选项的地方
Atul

-1

使用以下命令获取带有时间戳的文件列表。

$ find . -type f | xargs ls -l --time-style="+%d-%m-%Y" 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.