技術メモのかけら

内容はもとより調べたことすら忘れてしまうので個人的なメモです。とにかく短く、結論だけ書いていきます。

awkのNF変数

awkの組み込みのNF変数には現在行のフィールド数が入っています。

$ cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

$ awk '{print NF}' /etc/redhat-release
5

これを利用して、後方からフィールドを参照できます

$ awk '{print $(NF),$(NF-1)}' /etc/redhat-release
(Core) 7.3.1611

また値をセットすることで現在行のフィールド数を操作できるので、先頭の3フィールド表示するようなことも可能です。

$ awk NF=3 /etc/redhat-release
CentOS Linux release