awk中if else语句的问题

awk中if else语句的问题

我有一个这样的文件:

Archaea     2   domain      
Archaea Aenigmarchaeota     11084   phylum      123

我正在尝试在 awk 中使用 if else 语句。我想获取每行的最后一列,然后检查:

if{(its is a number) print (column)} else (print the previous colum) 

我已经尝试过这个:

awk '{if(NF=/[0-9]/){print $(NF-1)} else{print $(NF)}}' head.txt 

我究竟做错了什么?

答案1

您不需要显式的 If/Else 逻辑:

awk '$NF ~ /[0-9]/ {print $NF; next}; {print $(NF-1)}'

相关内容