有需要什么来的......让我们说我们有以下文本文件中一些帮助AWK命令打印反转
aeht
mark
tjae
aejra
ytha
mark
yeaja
所以它得开始打印,直到它找到这个词mark
,这将不打印,但改变awk的行为,并停止打印下一行,直到它发现第二个mark
,它将再次开始打印,等等,每次它发现mark
行为将改变... 这可能吗?如何才能做到这一点?
(在mark
线不应该被打印出来)
有需要什么来的......让我们说我们有以下文本文件中一些帮助AWK命令打印反转
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
在许多方面,但首先告诉我们你的企图卡在哪里。 – fedorqui
我正在面临问题,它会改变它的行为! –
向我们显示您的代码。 – grebneke