カテゴリ: Linuxコマンド集 更新日: 2026/03/26

sort -kオプションの使い方を完全ガイド!初心者でもわかるLinuxで特定の列を並び替える方法

sort -kオプション|特定のフィールドでソートする
sort -kオプション|特定のフィールドでソートする

先生と生徒の会話形式で理解しよう

生徒

「Linuxでデータを並び替えたいんですけど、数字や名前がぐちゃぐちゃで……どうしたらいいですか?」

先生

「それならsortコマンドを使います。特に-kオプションを使うと、並び替えたい列を指定できます。」

生徒

「列って何ですか?表みたいなものですか?」

先生

「そうです。表の何番目を基準に並び替えるかを決めるのが-kなんですよ。」

1. sortコマンドとは?

1. sortコマンドとは?
1. sortコマンドとは?

sortコマンドは、Linuxで文字や数字が並んだデータを順番に並び替えるための基本コマンドです。テキストファイルの中身を、名前順、数字順、日付順などに整理したいときによく使われます。

パソコン初心者の方には、Excelの「並び替え」機能を文字だけで操作するイメージを持つとわかりやすいです。黒い画面(ターミナル)で命令を書く代わりに、細かい条件まで指定できるのが特徴です。

2. フィールド(列)とは何かを理解しよう

2. フィールド(列)とは何かを理解しよう
2. フィールド(列)とは何かを理解しよう

フィールドとは、1行の中で区切られたデータのかたまりのことです。多くの場合、スペースやタブで区切られています。

たとえば「名前 年齢 点数」というデータがある場合、名前が1番目、年齢が2番目、点数が3番目のフィールドになります。sort -kは、この「何番目か」を指定するためのオプションです。

3. sort -kの基本的な書き方

3. sort -kの基本的な書き方
3. sort -kの基本的な書き方

-kオプションの基本形はとてもシンプルです。


sort -k 2 data.txt
山田 20 80
佐藤 18 90
鈴木 22 70

この例では、2番目のフィールド(年齢)を基準に並び替えています。数字が小さい順に並ぶので、18、20、22の順になります。

4. 数字として正しく並び替える方法

4. 数字として正しく並び替える方法
4. 数字として正しく並び替える方法

そのままsortを使うと、数字も文字として扱われます。そのため「100」が「20」より前に来ることがあります。これを防ぐには-nを組み合わせます。


sort -k 3 -n score.txt
佐藤 18 90
山田 20 80
鈴木 22 70

-nは「数値として並び替える」という意味です。点数や金額などを扱うときは、ほぼ必須のオプションです。

5. 開始位置と終了位置を指定する

5. 開始位置と終了位置を指定する
5. 開始位置と終了位置を指定する

-kは「どこからどこまで」を細かく指定できます。-k 2,2のように書くと、2番目のフィールドだけを使うという意味になります。


sort -k 1,1 name.txt
佐藤 東京
鈴木 大阪
山田 名古屋

この指定を覚えておくと、複雑なデータでも安心して並び替えできます。

6. 区切り文字を変更する方法

6. 区切り文字を変更する方法
6. 区切り文字を変更する方法

データがカンマ区切り(CSV)の場合は、そのままでは正しく列を認識できません。そんなときは-tオプションを使います。


sort -t , -k 2 data.csv
山田,20,80
佐藤,18,90
鈴木,22,70

-t ,は「カンマで区切られている」と教える指定です。これで表として正しく扱われます。

7. 逆順(大きい順)に並び替える

7. 逆順(大きい順)に並び替える
7. 逆順(大きい順)に並び替える

成績を高い順にしたい場合などは、-rを追加します。これは「逆順」を意味します。


sort -k 3 -n -r score.txt
佐藤 18 90
山田 20 80
鈴木 22 70

オプションは順番を入れ替えても問題ありません。読みやすい並びで書くのがおすすめです。

8. sort -kが役立つ場面

8. sort -kが役立つ場面
8. sort -kが役立つ場面

sort -kは、ログファイルの整理、名簿の並び替え、売上データのチェックなど、日常的なLinux作業で頻繁に使われます。

最初は難しく感じますが、「何列目で並び替えたいか」を意識するだけで、一気に理解しやすくなります。紙の表を並べ替える感覚で考えるのがコツです。

関連記事:
カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
sort -kオプションの使い方を完全ガイド!初心者でもわかるLinuxで特定の列を並び替える方法
New2
ファイル・ディレクトリ操作
statコマンドとは?Linuxでファイルやディレクトリの詳細情報を確認する基本
New3
ファイル・ディレクトリ操作
stat --formatオプションの使い方を完全ガイド!初心者でもわかるファイル情報のカスタム表示
New4
ファイルとディレクトリ操作
pwdコマンドとは?現在のディレクトリを確認するLinux基本コマンドを初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
Linuxコマンドの基本
Linuxコマンドとは?基本の考え方とシェルとの関係を初心者向けに徹底解説
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.3
Java&Spring記事人気No3
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!
No.4
Java&Spring記事人気No4
テキスト・データ処理
awk -fオプションの使い方を完全ガイド!初心者でもわかるLinuxテキスト処理の基本