awk是否有OR声明,即给出以下代码段:
awk '{if ($2=="abc") print "blah"}'
Run Code Online (Sandbox Code Playgroud)
是否可以添加一个OR语句,以便$2==abc OR def -> print?
P.P*_*.P. 54
是.||您可以使用逻辑OR :
awk '{if ($2=="abc" || $2=="def") print "blah" }'
Run Code Online (Sandbox Code Playgroud)
Ed *_*ton 41
你不会在awk中写这段代码:
awk '{if ($2=="abc") print "blah"}'
Run Code Online (Sandbox Code Playgroud)
你会写这个:
awk '$2=="abc" {print "blah"}'
Run Code Online (Sandbox Code Playgroud)
并添加"或"将取决于您最终尝试做的事情:
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"}
'
Run Code Online (Sandbox Code Playgroud)
如果您想要匹配多个字符串,那么最后一个是最合适的.