sort の使い方
行を並べ替える
書き方
sort [-n] [-r] [-u] [-k 列] [-t 区切り]
-n 数値順、-r 逆順、-u 重複を除く、-k 何列目で並べるか。
よく使うオプション
| オプション | 意味 |
|---|---|
-n | 数として並べる(10 が 9 より後になる) |
-r | 逆の順(大きい順)にする |
-u | 同じ行を 1 つにまとめる |
-k 列 | 何列目で並べるか |
-t 区切り | 列の区切りの文字(-t: など。既定は空白) |
-h | 1K・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 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。