Grep使用换行符搜索字符串

Vij*_*Dev 9 bash grep

如何使用grep在下面给出的输入文件中输出字符串'export to excel'的出现次数?具体来说,如何处理搜索字符串之间发生的换行符?grep中是否有可以执行此操作或其他命令的开关?

输入文件:

文件a.txt:

等等...出口到
excel ...
等等等等

文件b.txt:

等等...出口到excel ...
等等等等

Lau*_*ves 6

您是否只想查找包含该模式的文件,忽略换行符,或者您是否希望实际看到匹配的行?

如果是前者,您可以使用tr将换行符转换为空格:

tr '\n' ' ' | grep 'export to excel'
Run Code Online (Sandbox Code Playgroud)

如果后者你可以做同样的事情,但你可能想使用-o标志只打印实际的匹配.然后,您需要调整正则表达式以包含所需的任何额外上下文.

  • tr + grep解决方案并不适合大文件,因为它会形成一个BIG字符串. (3认同)