如何在 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" \)
上面命令的解释:
.
表示当前目录-type
选项用于指定文件类型,在这里,我们搜索由f
表示的常规文件-name
选项用于指定搜索模式,在本例中为文件扩展名-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”命令