有需要什麼來的......讓我們說我們有以下文本文件中一些幫助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