从查找的输出中排除特定路径



我在文件系统中使用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

在这篇文章中,我找到了一个答案,并在下面这样尝试

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

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

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

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

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

尝试-not -path "/home/ipg7/Dokumente/click/conf/*"而不是

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

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

最新更新