[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
awk Shell command