以下教程将向您展示如何使用单行命令在 GNU/Linux 发行版中的许多文件和文件夹中搜索特定文本。
如果您是开发人员、Web 程序员或处理许多文件的人,并且您需要查找单个文本,您应该知道并记住一个可以在任何基于 Linux 的系统上使用的命令。
例如,假设您有一个包含 30 个文件夹和 20,000 个文件的目录。这些文件夹中包含的文件的扩展名无关紧要,因为它们可以是您想到的任何内容,例如 .txt、.php、.css、.js 等。
您需要在这些文件中快速找到一个或多个单词。你做什么工作?当然,查看每一个文件是不可能的任务,所以这里是 Linux 的grep
救援命令。
(grep
全局正则表达式打印)命令非常强大,可能是最通用的 Linux 命令。它的主要目的是在每个文件中搜索模式,但它支持复杂的规则。
因此,要在文件夹层次结构中包含的数千个文件中搜索文本,您只需要可以在终端模拟器上运行的一行命令。
grep -rnw '/path' -e 'text'
而已!使用此命令,您将能够在数百或数千个文件中搜索文本,只需将/path
字符串替换为您要在其中搜索文本的路径,并将字符串替换为您要查找的文本text
。
举个简单的例子,假设我想在一个名为“linux”的目录中找到单词“Menu” ,该目录在我的主目录中包含 305 个项目(包括文件和文件夹)。我会使用的命令是.grep -rnw '/home/marius/linux/' -e 'Menu'
grep 最好的部分是它知道区分大小写的搜索,因此您可以找到包含大写字母、数字或任何其他字符的单词。当然,您也可以只搜索数字。