[awk] 指定した列の文字列が一致する行だけを抽出する
作成日: 2026年09月21日
awk では、指定した列の文字列を比較し、一致する行だけを出力できます。
例えば、下記の内容の users.txt を用意します。
name role
Alice admin
Bob user
Carol admin
2 列目が admin の行だけを出力するには、下記のように実行します。
awk 'NR > 1 && $2 == "admin" {print $1, $2}' users.txt
NR > 1 で 1 行目のヘッダーを除外し、$2 == "admin" で 2 列目が admin と一致する行だけに絞り込んでいます。
実行結果は下記のとおりです。
Alice admin
Carol admin