BASH:显示修改日期的上次修改文件

时间:2016-07-25 07:21:53

标签: bash

我正在尝试列出在过去60分钟内修改过的所有文件。我使用find但它只显示路径,而不是上次修改时的日期。我该怎么做?

# Missing last modified date
find . -mmin -60 -not -path './.git/*'

2 个答案:

答案 0 :(得分:4)

使用GNU find

find . -mmin -60 ! -path './.git/*' -printf '%t\t%p\n'

Mon Jul 25 08:19:42.0000000000 2016     ./file.txt
  

%t 文件的最后修改时间采用C`ctime'返回的格式功能

     

%p 文件的名称。

答案 1 :(得分:2)

如果您使用的是GNU find,请添加-ls操作:

find . -mmin -60 -not -path './.git/*' -ls

否则,POSIX-ly:

find . -mmin -60 -not -path './.git/*' -exec ls -l {} +

您也可以使用stat代替ls来获取所需的信息:

find . -mmin -60 -not -path './.git/*' -exec stat -c '%y : %n' +