![从查找中排除单条路径(修剪)](https://linux22.com/image/1267170/%E4%BB%8E%E6%9F%A5%E6%89%BE%E4%B8%AD%E6%8E%92%E9%99%A4%E5%8D%95%E6%9D%A1%E8%B7%AF%E5%BE%84%EF%BC%88%E4%BF%AE%E5%89%AA%EF%BC%89.png)
有没有办法/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