查找:当“-exec 返回 0”时“仅显示 -printf”

查找:当“-exec 返回 0”时“仅显示 -printf”

我拥有的:

/usr/bin/find /my_directory -type f -not -empty -name '*.log' -printf '%T@ %Tc %p\n' -exec grep 'text in file' {} \;

这将显示以下位置的所有非空日志文件/my_directory

1619942263.2701036230 Sun May  2 09:57:43 2021 /my_directory/abc.log
1619945861.8521817540 Sun May  2 10:57:41 2021 /my_directory/def.log

但我只想获取带有text in file- 的文件或类似风格的文件。

答案1

放在-exec之前-printf

find /my_directory -type f -not -empty -name '*.log' -exec grep -q 'text in file' {} \; -printf '%T@ %Tc %p\n'

-exec如果命令以非零退出代码退出,则计算结果为 false,并且跳过后续操作。

相关内容