[英]AWK command print inversion
进来的东西需要一些帮助...假设我们将以下文本放入文件中
aeht
mark
tjae
aejra
ytha
mark
yeaja
所以它必须开始打印,直到找到单词mark
为止,该单词不会打印,但会更改awk的行为,并停止打印下一行,直到发现第二个mark
,然后再次开始打印,依此类推,直到每次发现一个mark
行为将会改变...可能吗? 如何才能做到这一点?
( mark
线永远不要打印出来)
无论您是否要在输出中使用“标记”,此行都应为您提供帮助:
awk -v f=1 '/^mark$/{f*=-1;next}f>0' file
测试:
kent$ cat file
1
2
mark
3
4
5
mark
6
7
8
mark
9
10
kent$ awk -v f=1 '/^mark$/{f*=-1;next}f>0' file
1
2
6
7
8
$ awk '/mark/{f=!f;next} !f' file
aeht
yeaja
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.