[Shell command] sort で指定した列を基準に並べ替える

作成日: 2026年10月03日

sort コマンドの -k オプションを使用すると、指定した列を基準に並べ替えることができます。

下記の例では、2列目の数値を昇順に並べ替えます。

printf '%s\n' 'Taro 30' 'Hanako 20' 'Jiro 25' | sort -k 2,2n

実行結果は下記のとおりです。

Hanako 20
Jiro 25
Taro 30

-k 2,2n は、2列目だけを並べ替えの基準にし、n を指定して数値として比較します。

-k 2 のように終了位置を省略すると、2列目から行末までが並べ替えの基準になります。2列目だけを基準にする場合は -k 2,2 のように開始列と終了列の両方を指定します。

参考

Shell command sort