我使用以下评论:
awk -F "\"*_\"*" '{print ";189;" $5||$4 ";-6"}' file.txt
事情是field5可能是空的,所以在这种情况下我想显示field4中的内容,而不是空格。
但是在执行此评论时,输出将被截断为189;
那么如果它有数据我怎么打印field5,如果没有打印field4的那个?
答案 0 :(得分:2)
请改用此格式:
awk -F "\"*_\"*" '{print ";189;" ($5 ? $5 : $4) ";-6"}' file.txt
另外,你真的需要两个“和* for -F?
答案 1 :(得分:0)
使用三元运算符:
print ($5 ? $5 : $4)
如果$5
非零并且不是空字符串,则会打印$5
的内容。否则,它将打印$4
如果第五个字段可能为零,那么您可以使用:
print ($5 != "" ? $5 : $4)