[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 のように開始列と終了列の両方を指定します。
参考
- GNU Coreutils - sort invocation: https://www.gnu.org/software/coreutils/manual/html_node/sort-invocation.html