我正在使用 Ubuntu,需要在所有小于 7 天的系统文件中查找,以L
和 are开头.txt
,然后基于该文件生成输出文件。
这是我到目前为止所拥有的:
nohup find / -type f -ctime -7 -name \*.txt \*L | tee /tmp/log``-`hostname`-`date -I`.log
但不知何故,输出是
find: paths must precede expression: `*L'
我尝试了很多方法将其放入L
脚本中。可以做些什么来让它发挥作用?
这是对另一个用户的已删除问题的转贴。当他们突然删除问题时,我正在发布答案,因此我在这里重新发布,以便与他人分享我的解决方案。
这适用于 Ubuntu 16.04;应该也适用于其他版本,因为它使用的是 GNU
find
:注意 the
-regextype posix-extended
和 the-iregex
后面的正则表达式模式。并且——对于可能偶然发现这一点的其他人——该脚本的这个变体适用于使用 BSD 的 macOS Catalina (10.5.7)
find
:注意
-E
(解释正则表达式模式)和-iregex
(不区分大小写)正则表达式模式。我更喜欢这种 regex-bass 方法,因为我可以将 regex 模式更改为具有多个像这样的文件扩展名来查找带有
.txt
,.jpeg
和png
扩展名的文件: