bash - grep 在 bash 中获取匹配文本的文件名和行号

标签 bash grep

我想在 bash 中对搜索术语 foobar 的文件夹执行 grep。然后我想输出所有匹配项以及 filenameline number ,其中找到了匹配项。这可能吗?

我需要输出看起来像:

{{filename}}:{{line_number}} - {{matched_text}}

最佳答案

grep -nrH 'regex' /dir/

-H是加文件名的选项,-n加行号,-r是递归的

即使没有 -H 也能得到文件名,除非只有一个文件。

添加-i 不区分大小写

为扩展正则表达式添加-E

关于bash - grep 在 bash 中获取匹配文本的文件名和行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10855734/

相关文章:

bash - 从一个巨大的文本文件中提取许多前导行

linux - 在 bash 中订购一个循环

regex - 如何打印仅包含 BASH 列表中字符的行?

linux - 在 Linux 中从文件中删除行,完全匹配

unix - 操纵电子邮件地址的路径

bash - 如何在运行时在 makefile 目标中 grep 一些内容?

linux - 如何在其包含的时间间隔内对文本文件中的项目进行排序

linux - 为什么 pidstat 没有反射(reflect)我使用任务集对 CPU 亲和性所做的更改?

linux - 使用 sed 数据创建列(仅限 bash)

bash - 怎么办||运算符(operator)在 bash 中工作?