在 2 个不同模式之间使用 sed 进行匹配

在 2 个不同模式之间使用 sed 进行匹配

我想捕获两种不同模式之间的输出,例如:

sed -n '/^pattern1/,/^pattern2/p;/^pattern2/q' 

但我想捕获没有原因模式的输出。

我知道这grep -Ev会对我有帮助,但我想知道 sed 是如何完成的。

答案1

您可以尝试使用awk

awk '/^pattern1/{p=1;next}/^pattern2/{p=0}p' file

p当找到模式时设置变量pattern1,当满足第二个模式时重置变量。

p脚本末尾的 将会触发默认的 awk 操作,即打印该行if p==1

相关内容