[awk] 指定した列の最小値を求める
作成日: 2026年09月15日
awk では、各行の値を比較することで指定した列の最小値を求めることができます。
例えば、下記の内容の scores.txt ファイルを用意します。
Alice 72
Bob 91
Carol 85
2列目の最小値を求めるには、下記のように実行します。
awk 'NR == 1 || $2 < min {min=$2} END {print min}' scores.txt
NR == 1 のときに最初の値を min に代入し、2行目以降は $2 < min の場合だけ min を更新します。最初の値で初期化するため、値がすべて正数の場合だけでなく、負数を含む場合でも正しく最小値を求められます。
実行結果は下記のとおりです。
72