sortコマンドで並び替え操作 macOS/Linux/Unixシェルコマンド

sortコマンドは、テキストファイルの内容を行単位で並び替えるために使用されます。標準入力からのデータや、指定したファイルの内容をソートすることができます。ここでは、sortコマンドの主なオプションと使用例を紹介します。

【sortまとめ】基本的な使用法

内容実行コマンド
ファイル内容のソートsort ファイル名
複数ファイルの内容を結合してソートsort ファイル名1 ファイル名2

オプション

オプション説明
-n数値としてソートします。デフォルトでは文字列としてソートされます。
-r逆順でソートします(降順)。
-kキーとして指定したフィールド(列)のみでソートします。例えば、-k 2なら2列目のデータを基準にソートします。
-tフィールドの区切り文字を指定します。デフォルトはスペースです。
-u重複を削除してユニークな行のみを出力します。
-o出力先ファイルを指定します。
-f大文字と小文字を区別せずにソートします。
-cソートされているかをチェックし、ソートされていない場合は最初の箇所を報告します。
-m既にソートされている複数のファイルをマージします。

【sort初級編】sortを使ってみよう

数値順にソートする

sort -n ファイル名

逆順でソートする

sort -r ファイル名

2列目を数値としてソートする

sort -k 2 -n ファイル名

カンマ区切りのファイルで、2列目を基準にソートする

sort -t, -k2 -n ファイル名

次のサンプルデータを用意しました。このデータには、果物の名前と数量がカンマ区切りで記載されています。

text
りんご,100
ばなな,20
ぶどう,300
みかん,50
sortコマンドでこのデータの並び順を操作してみます。次はort -t, -k2 -n fruit_data.txtの実行結果です:
output
なな,20
みかん,50
りんご,100
いちご,200
ぶどう,300
あんず,500

重複を削除する

sort ファイル名 | uniq(またはsort -u ファイル名sortコマンドは、ログファイルの分析、データの前処理、または単純にファイル内の行を整理する際に非常に便利です。複数のオプションを組み合わせることで、さまざまなソート条件を指定できます。

関連記事

最後までご覧いただきありがとうございます!

▼ 記事に関するご質問やお仕事のご相談は以下よりお願いいたします。
お問い合わせフォーム