2024/02/13 22:13:39

sort

行を並び替える

SYNOPSIS

sort [OPTION]... [FILE]...

オプション一覧

sortコマンドのオプション
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
サイト内検索