在多个子目录中查找特定文件

在多个子目录中查找特定文件

我有以下问题:

我必须编写一些内容来复制目录 A 中包含的文件。该文件是唯一的,并且具有特定的扩展名 (.jil)。唯一的问题是,目录 A 可以包含子目录 B (其中可以包含子目录 C,...),然后我的文件将不会位于目录 A 中,而是位于他的子目录之一中。

我可以使用什么命令来查找此文件而不探索我的所有目录?

答案1

find这实际上是默认的工作方式。你可以直接跑

find A/ -name "*.jil" -exec cp {} target_dir/ \;

默认行为是find递归地查看所有子目录,您可以通过设置-maxdepth/-midepth选项来控制:

   -maxdepth levels
          Descend at most levels (a non-negative integer) levels of direc‐
          tories below the command line arguments.  -maxdepth 0
           means only apply the tests and  actions  to  the  command  line
          arguments.
   -mindepth levels
          Do  not apply any tests or actions at levels less than levels (a
          non-negative integer).  -mindepth  1  means  process  all  files
          except the command line arguments.

相关内容