我正在使用 awk 命令来打印值。对于最后一列,如果没有找到值,我需要它来打印NA
.
例如,在下面的代码中,当$3
is NULL
,我需要打印为NA
.
无论如何我可以包括一个if
/isnull
条件什么的。
awk -F" " '{ print $1,"|", $2, "|", $3 }' log_temp.txt > log_template.txt
无论如何,我是否可以包含“if”/“isnull”条件或其他条件。
你需要使用三元运算符 https://en.wikipedia.org/wiki/%3F:#AWK
Syntax:
condition ? value_if_true : value_if_false
对于第三列
awk '{ print ($3==""?"NA":$3) }' infile
所以它变成了
awk '{ print $1, "|" , $2, "|", ($3==""?"NA":$3) }' infile
您还可以设置输出字段分隔符变量(OFS
)
awk -v OFS='|' '{ print $1, $2, ($3=="" ? "NA" : $3) }' infile
print ($3=="" ? "NA" : $3)
与
if( $3=="" ){
print "NA"
}else{
print $3
}
对于最后一列,您可以使用NF
给出没有字段的变量
记录,而$NF
是最后一列
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)