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