我正在使用“查找”命令在备份系统中搜索文件。我想找到所有包含某个字符串(例如“ XYZ ”)且深度正好为 8 级的所有文件名。
是否有一个 find 语法可以做到这一点?非常感谢。
假设您使用的是 GNUfind
或其他find
具有这些选项的工具,
find . -mindepth 8 -maxdepth 8 -name '*XYZ*'
Run Code Online (Sandbox Code Playgroud)
如果你没有这样的find
命令,你可以使用这个 POSIX 版本:
# must contain exactly 7 slashes
find . -path '*/*/*/*/*/*/*/*' -prune -name '*XYZ*'
Run Code Online (Sandbox Code Playgroud)
-path '*/*/*/*/*/*/*/*'
选择至少 8 层深的路径(至少包含 7 个斜杠,深度 0 是.
它本身,深度 1 是当前目录中的文件),-prune
为它们做将防止find
下降到那些 8 层深的文件夹中,所以9 及以上的将永远不会被看到。