有没有办法/usr/bin/find
通过绝对位置将某个目录列入黑名单。我正在使用find (GNU findutils) 4.4.2
。
find . -type f -not -path '*/media/*'
我期望这永远不会遍历名为 的路径中的任何内容/media/
。然而,事实显然并非如此。阅读文档后,我发现答案就在 中-prune
。
find . -path '*/media/*' -prune | grep media
然而,这仍然会返回一些东西
./media/.listing
./media/ChromeImageGallery
./media/WheelsTV
./media/AutoBuilder4-Data
为什么即使-prune
找到,也会返回/media/
子目录中的内容?
答案1
尝试一下:
find . -path '*/media/*' -prune -o -print
它会输出media
但其下没有任何内容。
以下将完全消除media
:
find . -name 'media' -prune -o -print