我想捕获两种不同模式之间的输出,例如:
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
。