2010-12-07 98 views

回答

3

awk '$3 == "0" && $4 == "yes" { print; }' myfile

+0

哇,我沒有意識到這是多麼簡單做AWK。作爲打印聲明之前的一個問題,你是否必須寫END? – 2010-12-07 23:04:06

+2

查看awk的手冊頁。一個awk腳本基本上是一個CONDITION ACTION對列表。在這種情況下,條件是$ 3 = 0和$ 4 = yes。相應的操作是打印。在讀取文件的最後一行之後END是一個條件。所以,之後的任何動作只會發生在文件末尾。此時,印刷品將不會顯示。在實踐中,其他子句將存儲全局變量的值以供END的操作使用。 – jtdubs 2010-12-07 23:13:39

1
grep -E '^[^ ]+ +[^ ]+ +0 +yes$' inputfile 

grep -E '^([^ ]+ +){2}0 +yes$' inputfile 

sed -n '/^\([^ ]\+ \+\)\{2\}0 \+yes$/p' inputfile 

sed -nr '/^([^ ]+ +){2}0 +yes$/p' inputfile 
1

這可能會爲你工作:

sed '/\s0\s\+yes\s*$/!d' inputfile 
1

這將工作以及

grep '............................0........yes' myfile