linux:搜索最近修改过的* .php类型的文件

时间:2011-12-15 00:31:00

标签: linux find

我如何调整它来返回只有扩展名* .php的递归文件? THX!

find . -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort

4 个答案:

答案 0 :(得分:34)

添加-name '*.php'

find . -type f  -name '*.php' -printf '%TY-%Tm-%Td %TT %p\n' | sort

请注意,由于表达式由find从左到右进行评估,因此您必须在-name操作之前指定-printf测试。

有关测试,操作以及find如何评估表达式的详细信息,请参阅this manpage

答案 1 :(得分:5)

find . -type f -name '*.php' -printf '%TY-%Tm-%Td %TT %p\n' | sort

您可以在manfile of find中找到更多选项。

答案 2 :(得分:1)

您也可以使用

find . -type f -mtime -n -name '*.php' | sort    

其中n是文件存在的天数。例如

find . -type f -mtime -1 -name '*.php' | sort 

应该返回所有不到一天的文件。如果您想过滤结果,这非常有用。

答案 3 :(得分:0)

说明:使用带有-type标志和regex的Unix命令查找文件的.php,并使用-ctime创建时间

find实用程序递归地列出列出的每个路径的目录树,并根据树中的每个文件评估一个表达式(由“ primaries”和“ operands”组成)。

解决方案: find . -name "*\.php" -type f -mtime -4w-这意味着在我当前的目录中,可以找到类型文件中最近4周内创建的所有php组合名称。

额外阅读:根据文档

 -type t
         True if the file is of the specified type.  Possible file types are as fol-
         lows:

         b       block special
         c       character special
         d       directory
         f       regular file
         l       symbolic link
         p       FIFO
         s       socket

 -mtime n[smhdw]
         If no units are specified, this primary evaluates to true if the difference
         between the file last modification time and the time find was started,
         rounded up to the next full 24-hour period, is n 24-hour periods.

         If units are specified, this primary evaluates to true if the difference
         between the file last modification time and the time find was started is
         exactly n units.  Please refer to the -atime primary description for informa-
         tion on supported time units.