【Linux入門】sort コマンド:ファイルの内容をソートする
コマンドの概要
sort
コマンドは、テキストファイルの行をソートして表示するためのコマンドです。デフォルトでは辞書順にソートされますが、オプションを使用して数値順や他の条件でのソートも可能です。
主なオプションと説明
オプション | 説明 |
---|---|
-r | 降順にソート。 |
-n | 文字ではなく数値順にソート。 |
-k KEY | 指定した列(キー)でソート。デフォルトは1列目。 |
-t CHAR | 指定したデリミタで列を分割。デフォルトはタブ。 |
-u | 重複行を排除してソート。 |
-f | 大文字と小文字を区別なくソート。 |
-b | 先頭に挿入されている空白を無視してソート。 |
コマンドの使用例と解説
data.txtの内容
$ cat data.txt
1:orange:オレンジ
11:grape:ぶどう
13:peach:もも
53:cherry:さくらんぼ
997:apple:りんご
21:melon:メロン
8:banana:バナナ
1.'data.txt' ファイルを辞書順にソートして表示
デフォルトでは辞書順にソートされます。
$ sort data.txt
11:grape:ぶどう
13:peach:もも
1:orange:オレンジ
21:melon:メロン
53:cherry:さくらんぼ
8:banana:バナナ
997:apple:りんご
1文字目(1→2→5→8→9)を見てソートをしています。
2.'data.txt' ファイルを数値でソートして表示
文字列ではなく数値としてソートしたい場合には、-n オプションを指定します。
$ sort -n data.txt
1:orange:オレンジ
8:banana:バナナ
11:grape:ぶどう
13:peach:もも
21:melon:メロン
53:cherry:さくらんぼ
997:apple:りんご
3.'data.txt' ファイルを数値で降順にソートして表示
数値として降順にソートしたい場合には、-nr オプションを指定します。
$ sort -nr data.txt
997:apple:りんご
53:cherry:さくらんぼ
21:melon:メロン
13:peach:もも
11:grape:ぶどう
8:banana:バナナ
1:orange:オレンジ
4.「 : 」をデリミタとして 'data.txt' ファイルを2列目でソートして表示
-t オプションでデリミタを指定し、-k2 オプションで2列目のみをキーとして指定。
$ sort -t ':' -k2 data.txt
997:apple:りんご
8:banana:バナナ
53:cherry:さくらんぼ
11:grape:ぶどう
21:melon:メロン
1:orange:オレンジ
13:peach:もも
これらの例は、sort
コマンドの基本的な使用法を示しています。様々なオプションを組み合わせて、特定の条件に基づいたソートを行うことができます。