查找文件但排除几个目录?

查找文件但排除几个目录?

如何find列出每个文件但从搜索中排除少数目录?

find / -type f -not -path "./foo*" -not -path "/bar*" -print

我在其他 stackexchanges 上看到过示例,例如./,但我尝试过的所有方法似乎都不起作用。

这有点管用:

find / -type f -not -path "*foo*" -not -path "*bar*" -print

但事实并非如此;它还从搜索结果中排除了名为“foo”和“bar”的文件。

答案1

find / -type f -not -path "*foo*/*" -not -path "*bar*/*" -print似乎可以解决问题。

答案2

查找期间排除目录

sudo find ~ -iname "*s40*" ! -path "*timeshift*"

此命令在主目录 /home/username 中搜索并查找包含文本 s40 的文件(或目录),但忽略所有包含文本 timeshift 的路径

-iname 按名称选择文件,但忽略大小写(大写/小写),感叹号表示“不”,find 也能识别 -not -path”时间移位

sudo 避免产生一长串的权限被拒绝列表

相关内容