Print second last column/field in awk

后端 未结 9 1974
野趣味
野趣味 2020-11-29 16:58

I want to print the second last column or field in awk. The number of fields is variable. I know that I should be able to use $NF but not sure how it can be use

9条回答
  •  猫巷女王i
    2020-11-29 17:49

    Small addition to Chris Kannon' accepted answer: only print if there actually is a second last column.

    (
    echo       | awk 'NF && NF-1 { print ( $(NF-1) ) }'
    echo 1     | awk 'NF && NF-1 { print ( $(NF-1) ) }'
    echo 1 2   | awk 'NF && NF-1 { print ( $(NF-1) ) }'
    echo 1 2 3 | awk 'NF && NF-1 { print ( $(NF-1) ) }'
    )
    

提交回复
热议问题