请看这两个命令:
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
)。
上面的命令没有这个限制。