当我做:
$ find /
它搜索整个系统。
我该如何防止呢?
(这个问题来自另一个问题的“答案”。)
考虑:
-maxdepth n
True if the depth of the current file into the tree is less than
or equal to n.
-mindepth n
True if the depth of the current file into the tree is greater
than or equal to n.
天,
只是想扩展 Jon 使用 -prune 的建议。它不是最容易使用的查找选项,例如仅在当前目录中搜索查找命令如下所示:
find . \( -type d ! -name . -prune \) -o \( <the bit you want to look for> \)
这将阻止 find 下降到该目录中的子目录。
基本上,它说,“修剪任何目录,其名称不是“。”,即当前目录。
find 命令对当前目录中找到的每个项目从左到右进行评估,因此在完成第一个元素(即修剪段)后,它将继续处理第二个 -o (OR'd) 表达式中匹配的项目。
HTH。
干杯,罗伯
使用通配符可能会更好。例如,如果要查找当前目录中的所有 ksh 脚本:
$ ls *.ksh
使用-prune选项。
你甚至可以做
echo /specific/dir/*.jpg
因为它是扩展通配符的外壳。打字
ls *.jpg
相当于打字
ls foo.jpg bar.jpg
给定的 foo.jpg 和 bar.jpg 是当前目录中所有以“.jpg”结尾的文件。