如何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 避免产生一长串的权限被拒绝列表