【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コマンドの基本的な使用法を示しています。様々なオプションを組み合わせて、特定の条件に基づいたソートを行うことができます。