网站搜索

如何在 Linux 中使用“find”命令搜索多个文件名(扩展名)


很多时候,我们陷入了必须搜索具有不同扩展名的多个文件的境地,这可能发生在一些 Linux 用户身上,尤其是在终端内。

我们可以使用多种 Linux 实用程序来定位或查找文件系统上的文件,但查找多个文件名或具有不同扩展名的文件有时会很棘手,并且需要特定的命令。

find 实用程序是用于在 Linux 文件系统上定位文件的众多实用程序之一,在本操作指南中,我们将介绍一些使用 find 来查找文件的示例。帮助我们一次找到多个文件名。

在深入了解实际命令之前,让我们先看一下 Linux find 实用程序的简要介绍。

find 实用程序最简单且通用的语法如下:

find directory options [ expression ]

让我们继续看一下 Linux 中 find 命令的一些示例。

1. 假设您要查找当前目录中所有带有 .sh.txt 文件扩展名的文件,您可以通过运行下面的命令:

find . -type f \( -name "*.sh" -o -name "*.txt" \)

上面命令的解释:

  1. . 表示当前目录
  2. -type 选项用于指定文件类型,在这里,我们搜索由 f 表示的常规文件
  3. -name 选项用于指定搜索模式,在本例中为文件扩展名
  4. -o 表示“或”

建议您将文件扩展名括在括号中,并使用 \ 反斜杠)转义字符,如命令中所示。

2. 要查找扩展名为 .sh.txt.c 的三个文件名,请发出以下命令:

find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)

3. 这是另一个示例,我们搜索包含 .png.jpg.deb 和 <代码>.pdf 扩展名:

find /home/aaronkilik/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)

当您仔细观察上面的所有命令时,小技巧是在 find 命令中使用 -o 选项,它使您能够向搜索数组添加更多文件名,并且还知道您正在搜索的文件名或文件扩展名。

结论

在本指南中,我们介绍了一个简单但有用的查找实用程序技巧,使我们能够通过发出单个命令来查找多个文件名。要了解 find 并将其用于许多其他重要的命令行操作,您可以阅读我们下面的文章。

不要错过:通过这 35 个示例掌握 Linux“find”命令