sort : テキストファイルを行単位で並べ替える
[構文] sort オプション ファイル
オプション
-b 先頭の空白は無視する
-d 空白と英数字のみを処理する
-f 大文字小文字を区別しない
-g 一般的な数値でソート
-i 表示可能な文字のみを処理する
-M 月 (Jan - Dec) が含まれている場合は月でソート
-h 判読可能な数値をソート (ex : 2K 1G)
-n 数値順にソートする
-R 同じキーをグループ化してランダムソート
-r 逆順にソートする
-V バージョン番号をソートする
-c ファイルをチェックする
-k KEYDEF キーを使用してソートする
KEYDEF ⇒ F[.C][OPTS][,F[.C][OPTS]]
F : フィールド番号
C : フィールド内の文字位置
OPTS : [bdfgiMhnRrV] - 各オプションを複数指定可
-m すでにソートされたファイルをマージ
-o FILE 結果を FILE に書き出す
-S SIZE メインメモリバッファに SIZE を指定
-t SEP 区切り文字に SEP を指定する (デフォルトは空白)
-T DIR 一時領域に $TMPDIR ではなく DIR を使用する
-u 重複行は 1 つにまとめる
-z レコードの区切りを改行ではなく NULL とする
使用例 :
[root@localhost ~]# cat test.txt
Tokyo:February 01
Hiroshima:December 005
Osaka:November 003
hokkaido:July 002
kyoto:August 04

[root@localhost ~]# sort test.txt
Hiroshima:December 005
hokkaido:July 002
kyoto:August 04
Osaka:November 003
Tokyo:February 01

[root@localhost ~]# sort -k2 test.txt
hokkaido:July 002
Osaka:November 003
Hiroshima:December 005
Tokyo:February 01
kyoto:August 04

[root@localhost ~]# sort -k2 -g test.txt
Tokyo:February 01
hokkaido:July 002
Osaka:November 003
kyoto:August 04
Hiroshima:December 005

[root@localhost ~]# sort -t':' -k2 test.txt
kyoto:August 04
Hiroshima:December 005
Tokyo:February 01
hokkaido:July 002
Osaka:November 003

[root@localhost ~]# sort -t':' -k2M test.txt
Tokyo:February 01
hokkaido:July 002
kyoto:August 04
Osaka:November 003
Hiroshima:December 005