【发布时间】:2021-03-01 18:52:11
【问题描述】:
我需要匹配文件中的模式并打印以下 2 行。我为此使用 grep -A2 。 但我想忽略第一个 grep 中的一些行。
我需要第一个 'grep -A2' 的输出来做一些进一步的处理,所以据我所知,到 grep -v 的管道对我没有帮助。
$cat file.txt
stringA-hurdygurdy-andmorechars
line1
line2
stringA-hurdygurdy-stringB-andmorechars
line1
line2
stringA-hurdygurdy-andmorechars
line1
line2
我需要 grep -A2 所有包含“stringA-hurdygurdy”的行,但不是包含 stringB 的行。
我在努力
grep -A2 ^stringA.*[^stringB].* file.txt
【问题讨论】:
-
Dupes 不正确,因为给定的
grep解决方案不适用于非 gnu awk,因为正在使用-A2。awk将是比grep更好的解决方案。 -
请将该示例输入的所需输出(无描述)添加到您的问题(无评论)。