[英]Print the lines between two lines that has the same pattern using bash
我有一个包含字符串模式 'OG' 的文本文件 -
OG
ANNNFKSODJFHFJ
SSJSJKSKJSAJAS
SSSSSSSSSSSSFA
OG
FALJFNAFAFNAFJL
AFJLJSLJFLFSLFL
ASJFAJFAKFKAFKK
OG
AJSFLJASFLSFLFF
SJFLAFLAFLFLAFA
ASASFASFOFLJAJF
我想打印前两行之间以 'OG' 作为字符串模式的行,即结果应该是 -
ANNNFKSODJFHFJ
SSJSJKSKJSAJAS
SSSSSSSSSSSSFA
在这里,任何使用“sed”或“awk”的建议。 我不想使用按行号打印,而是使用模式搜索。
我尝试使用 awk,但没有用 -
awk '/^OG/{flag=1;next}/^OG/{flag=0}flag' file.txt
你快到了:
$ awk '/^OG/ {if(go) exit; go=1; next} go {print}' file.txt
ANNNFKSODJFHFJ
SSJSJKSKJSAJAS
SSSSSSSSSSSSFA
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.