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)}'

関連情報