awk中是否有一個OR
聲明即給出下面的代碼片段:AWK或聲明
awk '{if ($2=="abc") print "blah"}'
是否有可能增加一個OR
語句,這樣,如果$2==abc OR def -> print
?
awk中是否有一個OR
聲明即給出下面的代碼片段:AWK或聲明
awk '{if ($2=="abc") print "blah"}'
是否有可能增加一個OR
語句,這樣,如果$2==abc OR def -> print
?
是的。有邏輯或||
,您可以使用:
awk '{if ($2=="abc" || $2=="def") print "blah" }'
awk '{if ($2=="abc" || $2=="def") print "blah"}'
在AWK你不會寫這樣的代碼:
awk '{if ($2=="abc") print "blah"}'
,你反而會這樣寫:
awk '$2=="abc" {print "blah"}'
,並添加一個「或」將取決於你最終試圖做的是什麼:
awk '$2~/^(abc|def)$/ {print "blah"}'
awk '$2=="abc" || $2=="def" {print "blah"}'
awk '
BEGIN{ split("abc def",tmp); for (i in tmp) targets[tmp[i]] }
$2 in targets {print "blah"}
'
如果您想要匹配多個字符串,最後一個將是最合適的。
呵呵,謝謝:) – Numpty 2013-04-05 17:23:20