我正在尝试在目录中查找一些文件。默认情况下,查找command正在搜索我指定的目录及其子目录。
我尝试使用depth/maxdepthand prune,但没有任何帮助来克服这个问题。有人可以指出在 Solaris 中使用深度/修剪的正确方法吗?
我的代码如下所示:
find file_path -depth 1 -name '*.log'
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
find: bad option 1
find: [-H | -L] path-list predicate-list
Run Code Online (Sandbox Code Playgroud)
Gil*_*il' 16
您混淆了两个名称相似但不相关的选项:
-depth不接受任何论据。如果存在,它告诉find在处理目录本身之前处理目录的内容。-maxdepth N (其中 N 是整数)将递归限制为 N 级子目录。该-maxdepth选项是在某些版本中找到的扩展find,但在 Solaris 中没有。仅使用标准选项来find处理目录而不使用递归有一个技巧:-prune在子目录上使用,但排除顶级目录。由于匹配顶级目录的唯一方法是按名称,因此将名称安排为.(永远不会是子目录的名称)。
find /directory/to/traverse/. -name . -o \
-type d -prune -o \
-name '*.log' -print
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17029 次 |
| 最近记录: |