相关疑难解决方法(0)

在查找中排除目录

如何找到匹配模式的每个文件和目录,不包括使用 的一个目录find

假设我有以下文件结构;

.
  foo-排除-我/
    foo.txt
  foo-exclude-me-not/
    foo.txt
  酒吧/
    foo.txt
    foob​​ar/
      栏.txt
      foofoo.txt

我将如何使用以下输出find

./bar/foo.txt
./bar/foobar
./bar/foobar/foofoo.txt
./foo-exclude-me-not
./foo-exclude-me-not/foo.txt

我尝试使用以下两个命令:

找 。-name 'foo-exclude-me' -prune -o -name 'foo*'
找 。-name 'foo*' \! -path './foo-exclude-me/*'

但他们都返回这个:

./bar/foo.txt
./bar/foobar
./bar/foobar/foofoo.txt
./foo-exclude-me # << this should be excluded
./foo-exclude-me-not
./foo-exclude-me-not/foo.txt
Run Code Online (Sandbox Code Playgroud)

如何正确排除foo-exclude-me目录?

find

11
推荐指数
1
解决办法
2万
查看次数

排除使 find 抱怨权限的路径

我需要从磁盘卷生成文件列表。一些目录(根目录下的所有隐藏目录)具有奇怪的权限,导致 find 抱怨。

我尝试排除所有这些路径,但一个目录仍然抱怨:

find . -type f -not -path './.*/*'
find: ./.DocumentRevisions-V100: Permission denied
Run Code Online (Sandbox Code Playgroud)

权限是这样的(由操作系统设置,所以我认为它们不应该被弄乱)。

d--x--x--x root  wheel   .DocumentRevisions-V100
Run Code Online (Sandbox Code Playgroud)

如何更改find语句以有效地省略所有隐藏目录,以免抱怨。(我不想这样做,2>/dev/null因为我想了解其他问题)。

permissions find

6
推荐指数
2
解决办法
2114
查看次数

find:结合 -path 和 -prune 来排除文件和目录

我有一个目录/srv/tftp/pxelinux.cfg和一个文件/etc/mtab。我想从find. 但无论我做什么,都不排除任何一个

find /etc /srv -path /srv/tftp/pxelinux.cfg -prune -o \! -path /etc/mtab
find /etc /srv \( -path /srv/tftp/pxelinux.cfg -prune -o -print \) -a \( \! -path /etc/mtab \)
Run Code Online (Sandbox Code Playgroud)

注意:我发现-path /foo -prune -o -print语法非常混乱且不直观

bash find

4
推荐指数
1
解决办法
6524
查看次数

标签 统计

find ×3

bash ×1

permissions ×1