这个 find 命令可以变得更紧凑吗?

这个 find 命令可以变得更紧凑吗?

请看这两个命令:

find ~/{Documents,Desktop,Downloads,Music,Videos} -mmin -120 -type f

find . ! -path "*opera*" ! -path "*mozilla*" ! -path "*google-chrome*" -mmin -120 -type f

第一个告诉find给出与特定文件夹相关的结果,第二个则相反。但是有没有办法使第二个命令更紧凑或者必须! path在每个文件夹之前?

操作系统是Lubuntu 12.10。

答案1

您可以使用 GNUfind正则表达式(非标准扩展):

find . -regextype posix-extended ! -regex '.*(opera|mozilla|google-chrome).*'

你也许可以使用不同的(更有效的)-regextype,我没有检查。

克里斯·唐的解决方案与您的第二个命令并不完全相同,find因为它确实不是从子目录中排除您的模式(它仍然会找到类似的内容./somedir/some-mozilla-dir)。

上面的命令没有这个限制。

相关内容