繁体   English   中英

AWK命令打印反转

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM