查找-type d没有子文件夹

时间:2013-11-13 15:42:43

标签: bash shell grep find path-finding

早上好!

我相信这是一个简单的,但我仍然是一个菜鸟:)

我正在尝试查找具有特定名称的所有文件夹。我可以使用命令

执行此操作
find /path/to/look/in/ -type d | grep .texturedata

输出给了我很多像这样的文件夹:

/path/to/look/in/.texturedata/v037/animBMP

但我希望它停在.texturedata:

/path/to/look/in/.texturedata/

我有数百条这样的路径,并希望通过将grep的输出汇总到chmod 000

来锁定它们

我给了一个带有-dpe参数的命令,但我不知道它做了什么,互联网无法帮助我确定它的用法

非常感谢你的帮助!

3 个答案:

答案 0 :(得分:1)

尝试

find /path/to/look/in/ -type d -name .texturedata -print0 | xargs -0 chmod 000

find /path/to/look/in/ -type d -name .texturedata -exec chmod 000 {} \;

无需使用grep。如果.texturedata中的任何目录也未命名为.texturedata,则上述内容仅会更改.texturedata的权限,而不会更改其子级的权限。它会在.texturedata内找到所有/path/to/look/in

答案 1 :(得分:1)

您可以在gnu中使用-quit选项查找-exec

find /path/to/look/in/ -type d -name ".texturedata" -exec chmod 000 '{}' \; -quit

答案 2 :(得分:1)

  

我正在尝试查找具有特定名称的所有文件夹。我能做到   使用命令find / path / to / look / in / -type d | grep的   .texturedata

无需grep输出find来查找特定目录名称。 -name的{​​{1}}选项可以完成同样的工作。

find

  

我希望它停在.texturedata

find /path/to/look/in/ -type d -name '.texturedata' 选项非常适合此要求

-prune

  

我有数百条这样的路径,并希望将它们锁定   将grep的输出输入chmod 000

尝试将find /path/to/look/in/ -type d -name '.texturedata' -prune find选项

一起使用
-exec

更有效的方法是使用find /path/to/look/in/ -type d -name '.texturedata' -exec chmod 000 {} \; -prune

管道输出find
xargs

<强> TEST

find /path/to/look/in/ -type d -name '.texturedata' -prune -print0 | xargs -0 chmod 000