sort
行を並び替える
SYNOPSIS
sort [OPTION]... [FILE]...
オプション一覧
b | 行の先頭のスペースを無視する |
d | アルファベットと空白だけで並び替える |
f | 大文字・小文字を区別しない |
g | 指数表現を解釈して数値として並び替える |
i | 出力可能な文字だけで並び替える(040以上,0176以下(8進数)に含まれない文字を無視) |
M | 先頭3文字を月表記(JAN, FEB,,)としてソートする。該当しないものは先頭に文字列ソートされた状態で並ぶ |
n | 数値として並び替える |
r | 逆順に並び替える |
c | すでに並び替えられているか調べる(ソートされていなければエラー) |
k | 並び替えに用いるキーの位置を指定する -k=POS1[,POS2] |
m | 複数ファイルをソートして1つにまとめる |
o | 標準出力に出力せずに、ファイルに出力する -o=FILE |
s | stabilize sort by disabling last-resort comparison. This option has no effect if no fields or global ordering options other than --reverse' ( -R') are specified. |
S | 並び替えに使用するメモリ量を指定する(default 1024 bytes) |
t | -k でフィールドを使用する場合に、デリミタとして使用する文字 |
T | 並べ替えに使用する一時ファイルを置くディレクトリを指定する(このオプションは環境変数 $TMPDIR より優先度が高い) |
u | 同一行はまとめる |
z | end lines with 0 byte, not newline |
sort いろいろ
$ echo -e "123\n8\n67\n45" | sort
123
45
67
8
数値として並び替え
$ echo -e "123\n8\n67\n45" | sort -n
8
45
67
123
数値として、逆順(降順)に並び替える
$ echo -e "123\n8\n67\n45" | sort -nr
123
67
45
8
結果をファイルに出力する
$ echo -e "123\n8\n67\n45" | sort -nr -o sorted.txt
$ cat sorted.txt
123
67
45
8