このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

新Linuxコマンド演習41

新Linuxコマンド演習41 概要

新Linuxコマンド演習41」では、ファイルの内容を並び替えるための sortコマンド を学びます。
 sort コマンドは、テキストファイルの行を特定の順序(辞書順・数値順など)に並び替えるための非常に便利なコマンドです。
 データを扱う上で基本的かつ重要な操作であり、ログ分析やレポート作成、スクリプト処理など幅広い場面で活用されます。

sortコマンドの書式と主なオプション

sort [オプション] ファイル名
オプション意味説明
-n数値順でソート行を文字列ではなく数値として並び替える。
-r降順でソート結果を逆順(大きい順)に表示する。
-t 区切り文字デリミタを指定項目を区切る文字を指定(例:-t ':')
-k 位置ソートキーを指定指定した列をキーに並び替える。
-u重複行を削除して表示重複を取り除いた結果を表示する。

表の説明
 sort コマンドはデフォルトでは辞書順で並び替えますが、オプションを指定することで数値順特定列の値を基準に並び替えることが可能です。
また、-t で区切り文字を設定し、-k で並び替え対象の列を柔軟に指定できます。

演習問題+模範解答例

演習01:練習用のファイルを作成する

問題
次の内容で data.txt ファイルを作成してください。

data.txt の内容

1:orange:オレンジ
11:grape:ぶどう
13:peach:もも
53:cherry:さくらんぼ
997:apple:りんご
21:melon:メロン
8:banana:バナナ

模範解答例

[suzuki@AlmaLinux ~]$ nano data.txt
(上記内容を入力して : Ctrl + s で保存)

解説

  • 各行は「番号:英単語:日本語訳」という形式になっています。
  • このファイルをもとに、並び替え操作を確認していきます。

演習02:ファイルを辞書順にソートする

問題
data.txt を辞書順でソートしてください。

模範解答例

[suzuki@AlmaLinux ~]$ sort data.txt
11:grape:ぶどう
13:peach:もも
1:orange:オレンジ
21:melon:メロン
53:cherry:さくらんぼ
8:banana:バナナ
997:apple:りんご

解説

  • sort コマンドはデフォルトで辞書順(文字列順)に並び替えます。
  • 「1」「11」「13」「21」などは文字列として比較されるため、数値順とは異なる結果になります。

演習03:数値順にソートする

問題
data.txt の内容を数値として昇順にソートしてください。

模範解答例

[suzuki@AlmaLinux ~]$ sort -n data.txt
1:orange:オレンジ
8:banana:バナナ
11:grape:ぶどう
13:peach:もも
21:melon:メロン
53:cherry:さくらんぼ
997:apple:りんご

解説

  • -n オプションを指定すると、先頭の数字部分を数値として認識し、正しい昇順になります。
  • 文字列順と異なり、数値の大小関係でソートされる点がポイントです。

演習04:数値順で降順にソートする

問題
data.txt の内容を数値として降順にソートしてください。

模範解答例

[suzuki@AlmaLinux ~]$ sort -nr data.txt
997:apple:りんご
53:cherry:さくらんぼ
21:melon:メロン
13:peach:もも
11:grape:ぶどう
8:banana:バナナ
1:orange:オレンジ

解説

  • -r オプションは逆順(降順)に並び替えます。
  • -n と組み合わせることで、数値の大きい順から小さい順に並び替えられます。

演習05:「 : 」を区切り文字として第2列をキーにソートする

問題
「 : 」を区切り文字として、data.txt の第2列(英単語)を基準に昇順でソートしてください。

模範解答例

[suzuki@AlmaLinux ~]$ sort -t ':' -k2 data.txt
997:apple:りんご
8:banana:バナナ
53:cherry:さくらんぼ
11:grape:ぶどう
21:melon:メロン
1:orange:オレンジ
13:peach:もも

解説

  • -t ':' で区切り文字を「 : 」に指定しています。
  • -k2 は「2列目(英単語)」をソートキーとして指定します。
  • このように、特定列の値をもとにソートすることで、CSVやログ形式のデータ整理に役立ちます。

演習終了時の作業:ファイルの削除

問題
この演習で作成した data.txt を削除してください。

模範解答例

[suzuki@AlmaLinux ~]$ rm data.txt
[suzuki@AlmaLinux ~]$ ls
Desktop    Downloads  Pictures  Templates
Documents  Music      Public    Videos

解説

  • 実習で作成した不要ファイルは削除しておきましょう。
  • 誤って重要ファイルを削除しないよう、ls で確認してから実行するのが安全です。

まとめ

新Linuxコマンド演習41」では、sort コマンドを用いたテキストファイルの並び替えを学びました。

学習ポイント

  • sort の基本は辞書順だが、-nで数値順、-rで降順に変更可能。
  • -t と -k を組み合わせることで、任意の列を基準に並び替えができる。
  • データの分析や集計、ログ整理など、管理作業で頻繁に使用されるコマンド。