我正在嘗試寫一個awk
腳本,它檢查某些條件並丟棄符合這些條件的行。當條件被激活時,你如何獲得awk移動到下一行?
具體條件是丟棄文件的前兩行以及以文本xyzzy:
開頭的任何行。爲此,我編碼了:
awk '
NR < 2 {}
/^xyzzy:/ {}
{print}'
認爲它會丟棄符合這兩個條件之一的行並且否則打印。
不幸的是,看起來print
正在被處理,即使該行與其他兩個模式中的一個匹配。
是否存在類似C的continue
操作,該操作將在下一行上移動,而忽略當前行的所有其他條件檢查?
我想我可能使用類似((NR > 1) && (!/^xyzzy:/)) {print}
作爲第三條規則,但這對我來說似乎相當醜陋。
另外,是否有另一種方法來做到這一點?
我不是專家,但這裏是一個非常好的[教程](http://www.grymoire.com/Unix/Awk。 html),當我開始學習它時,我發現它非常有用。當然還有一個非常詳盡的指南(http://www.gnu.org/software/gawk/manual/gawk.pdf)。但我喜歡書本上的教程。 :) – 2012-01-04 07:16:01