如何使用“ grep”命令查找包含子目录的文本 您所在的位置:网站首页 grep当前文件夹和子文件夹 如何使用“ grep”命令查找包含子目录的文本

如何使用“ grep”命令查找包含子目录的文本

2023-10-06 10:34| 来源: 网络整理| 查看: 265

grep(GNU或BSD)

您可以使用该grep工具通过-r参数递归搜索当前文件夹,例如:

grep -r "pattern" .

注意:-r-递归搜索子目录。

要在特定文件中搜索,可以使用以下语法:

grep "class foo" **/*.c

注意:通过使用globlob选项(**),它将以特定的扩展名或模式递归扫描所有文件。要启用此语法,请运行:shopt -s globstar。您也可以使用**/*.*所有文件(不包括隐藏文件和不带扩展名的文件)或任何其他模式。

如果您发现参数过长的错误,请考虑缩小搜索范围,或改用如下find语法:

find . -name "*.php" -execdir grep -nH --color=auto foo {} ';'

或者使用ripgrep。

ripgrep

如果您正在处理较大的项目或大文件,则应ripgrep改用,例如:

rg "pattern" .

在GitHub项目页面上签出文档,安装步骤或源代码。

它比其他工具一样快多了GNU / BSD grep,ucg,ag,sift,ack,pt或类似的,因为它是建立在之上锈病的正则表达式引擎,它使用有限自动机,SIMD和积极文字的优化,使搜索速度非常快。

它支持.gitignore文件中指定的忽略模式,因此单个文件路径可以同时与多个glob模式匹配。

您可以使用常见参数,例如:

-i -不敏感的搜索。 -I -忽略二进制文件。 -w -搜索整个单词(与部分单词匹配相反)。 -n -显示您的比赛路线。 -C/ --context(例如-C5)-增加上下文,因此您会看到周围的代码。 --color=auto -标记匹配的文本。 -H -显示找到文本的文件名。 -c-显示匹配行数。可以结合使用-H。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有