从 find 的输出中排除特定路径

时间:2021-01-27 10:36:01

标签: shell find

我使用 find 在我的文件系统中搜索具有特定扩展名的文件

find / -type f -name "*.click" 2>/dev/null

在我的结果中,我在特定路径中得到了很多文件,这些文件对我来说并不有趣

/home/x/Dokumente/click/etc/samplepackage/test.click
/home/x/Dokumente/click/apps/csclient/test.click
/home/x/Dokumente/click/conf/test-device.click
/home/x/Dokumente/click/conf/ip6ndadvertiser.click
/home/x/Dokumente/click/conf/script-parabolawave.click
/home/x/Dokumente/click/conf/fake-iprouter.click
/home/x/Dokumente/click/conf/fromhost-tunnel.click
/home/x/Dokumente/click/conf/simple-dsdv-userlevel.click
/home/x/Dokumente/click/conf/sampler.click
/home/x/Dokumente/click/conf/script-trianglewave.click
/home/x/Dokumente/click/conf/script-squarewave.click
/home/x/Dokumente/click/conf/fastudpsrc.click
/home/x/Dokumente/click/conf/schedorder1.click
/home/x/Dokumente/click/conf/test-ping-userlevel.click
/home/x/Dokumente/click/conf/test-tcp.click
/home/x/Dokumente/click/conf/delay.click
/home/x/Dokumente/click/conf/icmp6error.click
/home/x/Dokumente/click/conf/webgen.click
/home/x/Dokumente/click/conf/test2.click
/home/x/Dokumente/click/conf/grid.click
/home/x/Dokumente/click/conf/thomer-nat.click
/home/x/Dokumente/click/conf/gnat02.click
/home/x/Dokumente/click/conf/test-clicky.click
/home/x/Dokumente/click/conf/ip64-nat3.click
/home/x/Dokumente/click/conf/mazu-nat.click
/home/x/Dokumente/click/conf/ip6print.click
/home/x/Dokumente/click/conf/gnat01.click
/home/x/Dokumente/click/conf/ip601.click

this article 中,我找到了一个答案并尝试如下

find / -type f -name "*.click" -not -path "./home/ipg7/Dokumente/click/conf"  2>/dev/null

但它不起作用我仍然像以前一样得到输出。

那么如何排除特定路径并将所有被拒绝的权限写入/dev/null?

2 个答案:

答案 0 :(得分:1)

您必须在路径中使用通配符来忽略给定路径中的所有匹配项并使用 2>/dev/null 来忽略错误:

find / -type f -name "*.click" -not -path "./home/ipg7/Dokumente/click/conf/*" 2>/dev/null

答案 1 :(得分:1)

您添加的 -not -path "./home/ipg7/Dokumente/click/conf" 与您的输出中的任何内容都不匹配

  1. 以点开头,
  2. 缺少与文件部分匹配的模式

试试-not -path "/home/ipg7/Dokumente/click/conf/*"

相关问题