簡體   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