在基于Unix的操作系统(Linux和Mac)中以递归方式查找特定类型的所有文件的方法

243 阅读1分钟

find 命令行工具是一个强大的工具,用于在Linux和MacOS中搜索你的文件系统。一个常见的用例是试图找到具有某个扩展名的所有文件。

在下面的例子中,我们使用find 命令来查找当前目录下的所有txt 文件,并进行递归

find . -type f -name "*.txt"

让我们来分析一下这是如何工作的。

  • 我们提供给find 命令的第一个参数是. ,它告诉find 从当前目录开始。如果我们想从一个叫做my_directory 的子目录开始,我们的命令将是find my_directory -type f -name "*.txt"
  • 接下来,我们有type 标志。正如你可能直觉到的,f 是用于文件。你也可以对目录使用d
  • 最后,我们有name 标志。由于我们正在寻找所有的.txt 文件,我们使用一个* 通配符来表示我们并不关心文件名是什么,只要它以.txt 结尾。

请注意,我们没有为递归搜索指定任何东西--这将是自动完成的!