如何显示多行grep

如何显示多行grep

我有以下代码:

int val

nameof_function();

上面的代码位于此文件 filename.txt 我尝试使用以下命令查找文件中的行序列

grep "int val.*\n.*(" filename.txt

但它不适用于多行。

我也尝试过

awk '/int val/,/\(/' filename.txt 

这里我没有在输出中获取文件名

如果我正在使用,grep我可以在输出中找到文件名,但无法搜索多行

我需要一个如下所示的输出:

filename.txt:int val nameof_function

请任何人帮助我

答案1

如果源文件包含由一行分隔的函数,您需要做的就是调整 grep 的输出,以便它找到int val并输出下面 2 行的内容。

会是这样的

grep -A 2 "int val" *.txt

相关内容