sort ==== 行を並び替える -------------- {{TOC 3-}} ### 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コマンドのオプション] ### 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