递归删除不匹配正则表达式的文件

Evi*_*t7x 1 shell find

我试图从文件夹树中清除一堆临时文件,但不想删除符合某些条件的文件,特别是可执行文件、.tpl 文件,而不是子文件夹“数据”。

我在这里看到问题

使用 Mac 终端删除与正则表达式匹配的目录中的文件

几乎是我要找的,但他们有一个正则表达式,他们试图匹配,而我有一个我不想要匹配的正则表达式。我可以这样做来找到我不想删除的所有文件:

find . -executable -o -regex '.*\.tpl'
Run Code Online (Sandbox Code Playgroud)

有没有办法反转匹配,就像 -v 与正则表达式一样?

Pri*_*ley 6

有没有办法反转匹配,就像 -v 与正则表达式一样?

使用否定( !):

find . -executable -o ! -regex '.*\.tpl' -exec rm -i {} \+
Run Code Online (Sandbox Code Playgroud)