sort – テキストを並び替えるコマンド

並び替え
スポンサーリンク

sort コマンドは、テキストファイルの内容を行ごとに並び替えるためのコマンドです。
実務では、ログやCSVファイルをソートして重複や順序を整理する際に利用されます。

構文(Syntax)

sort [オプション] [FILE...]

主なオプション一覧

オプション説明使用例
(なし)行を辞書順(ASCII順)でソートsort data.txt
-r逆順にソートsort -r data.txt
-n数値としてソートsort -n numbers.txt
-k N[,M]指定したフィールドでソートsort -k 2 data.txt
-t CHARフィールドの区切り文字を指定sort -t, -k 2 data.csv
-u重複行を削除(ユニーク化)sort -u data.txt
-f大文字小文字を区別せずにソートsort -f names.txt
-o FILE結果を指定ファイルに出力sort -o sorted.txt data.txt
-h人間が読みやすい形式(1K, 2M など)を数値として扱うsort -h sizes.txt
--parallel=N並列処理スレッド数を指定sort --parallel=4 bigfile.txt

実行例

行を辞書順でソート

sort names.txt

出力例:

Alice
Bob
Charlie

数値としてソート

sort -n numbers.txt

入力例:

10
2
33

出力例:

2
10
33

逆順でソート

sort -r names.txt

CSVの2列目でソート

sort -t, -k2 data.csv

入力例:

Alice,30
Bob,25
Charlie,28

出力例:

Bob,25
Charlie,28
Alice,30

重複行を削除してソート

sort -u items.txt

ソート結果を別ファイルに保存

sort -o sorted.txt data.txt

エラー例(存在しないファイルを指定)

sort missing.txt

出力例:

sort: cannot read: missing.txt: No such file or directory

関連コマンド

  • uniq : 重複行を削除(ただし事前に sort が必要なことが多い)
  • cut : フィールド抽出
  • awk : 高度なフィルタリング・加工
  • tr : 文字変換

備考

  • デフォルトでは辞書順(ASCII順)でソートされるため、日本語環境では LC_ALL=CLC_ALL=ja_JP.UTF-8 で挙動が変わることがあります。
  • 大規模ファイルをソートする場合、一時ファイルを /tmp に作成するためディスク容量に注意が必要です。
  • 並列オプション(--parallel)を使うと大規模データの処理が高速化します。

参考

スポンサーリンク
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント