我如何调整它来返回只有扩展名* .php的递归文件? THX!
find . -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort
答案 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.