sort の使い方

行を並べ替える

書き方

sort [-n] [-r] [-u] [-k 列] [-t 区切り]

-n 数値順、-r 逆順、-u 重複を除く、-k 何列目で並べるか。

よく使うオプション

オプション意味
-n数として並べる(10 が 9 より後になる)
-r逆の順(大きい順)にする
-u同じ行を 1 つにまとめる
-k 列何列目で並べるか
-t 区切り列の区切りの文字(-t: など。既定は空白)
-h1K・2M のような読みやすいサイズの順に並べる

例

$ sort names.txt

行を文字の順に並べ替えて出します。ファイルそのものは変わりません。

$ sort -nr counts.txt

数の大きい順に並べます。-n を付けないと 100 が 20 より前に来てしまいます。

$ sort -t: -k3 -n /etc/passwd

: で区切った 3 列目(UID)の小さい順に、ユーザーを並べます。

$ du -sh /srv/* | sort -h

ディレクトリの大きさを、小さい順に並べます。いちばん大きいものが最後に来ます。

よくある間違い・注意

  • sort file > file のように同じファイルへ書き出すと、中身が消えます。書き戻すときは sort -o file file を使います。

実際に打って練習する

Linux レベル1 コースの Lv20「並べ替える sort」で覚えます(第2章 宝探し(検索とテキスト処理))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Linux コマンド一覧(LinuC レベル1 の範囲)へ戻る