我正在使用“查找”命令来搜索备份系统中的文件。我想找到包含特定字符串的所有文件名(例如'XYZ')正好有 8 层深。
有没有可以做到这一点的查找语法?多谢。
答案1
假设您使用的是 GNUfind
或其他find
具有这些选项的软件,
find . -mindepth 8 -maxdepth 8 -name '*XYZ*'
如果你没有这样的find
命令,你可以使用这个 POSIX 版本:
# must contain exactly 7 slashes
find . -path '*/*/*/*/*/*/*/*' -prune -name '*XYZ*'
-path '*/*/*/*/*/*/*/*'
选择至少 8 层深度的路径(包含至少 7 个斜杠,深度 0 是.
其本身,深度 1 是当前目录中的文件),-prune
为它们执行操作将阻止find
下降到那些 8 层深度的文件夹,因此9级及以上的就再也见不到了。