我相信这是一个简单的,但我仍然是一个菜鸟:)
我正在尝试查找具有特定名称的所有文件夹。我可以使用命令
执行此操作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
参数的命令,但我不知道它做了什么,互联网无法帮助我确定它的用法
非常感谢你的帮助!
答案 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