元のテキストの中身はこんな状態
cat hoge.txt
1 1 a
3 10 c
2 2 b
オプションを何も指定せずにソートすると第一カラムを文字列としてソートする
sort hoge.txt
1 1 a
2 2 b
3 10 c
オプションを-k 2としてソートすると、第二カラムを文字列としてソートする
sort hoge.txt -k 2
1 1 a
3 10 c
2 2 b
-nをつけてあげると数値としてソートするので2と10の順番が入れ替わる
sort hoge.txt -k 2 -n
1 1 a
2 2 b
3 10 c
第三カラムのソートの場合は-k 3でOK
sort hoge.txt -k 3
1 1 a
2 2 b
3 10 c
ヘルプの中身はこんな感じ
使用法: sort [オプション]... [ファイル]...
Write sorted concatenation of all FILE(s) to standard output.
長いオプションに必須の引数は短いオプションにも必須です.
Ordering options:
-b, --ignore-leading-blanks ignore leading blanks
-d, --dictionary-order consider only blanks and alphanumeric characters
-f, --ignore-case fold lower case to upper case characters
-g, --general-numeric-sort 一般的な数値の大小によって比較
-i, --ignore-nonprinting 表示可能文字のみを比較して 並び替え
-M, --month-sort 月名でソートを行う. 月名以外は JAN より小さい
-n, --numeric-sort 文字列を数値の大小によって比較
-r, --reverse 比較結果を反転
Other options:
-c, --check check whether input is sorted; do not sort
-k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin 1)
-m, --merge merge already sorted files; do not sort
-o, --output=FILE write result to FILE instead of standard output
-s, --stable stabilize sort by disabling last-resort comparison
-S, --buffer-size=SIZE use SIZE for main memory buffer
-t, --field-separator=SEP use SEP instead of non-blank to blank transition
-T, --temporary-directory=DIR use DIR for temporaries, not $TMPDIR or /tmp;
multiple options specify multiple directories
-u, --unique with -c, check for strict ordering;
without -c, output only the first of an equal run
-z, --zero-terminated 文字列の最後に改行でなくヌル文字を付加
--help この使い方を表示して終了
--version バージョン情報を表示して終了
POS の書式は F[.C][OPTS] であり, F にはフィールド番号, C にはフィールド内の
文字の位置を指定します. OPTS には「並び替えオプション」の中の 1つ以上の文字が
指定され, そのキーに対して全体の「並び替えオプション」よりも優先されます.
キーが指定されなければ, キーとして行全体が使われます.
SIZE の後には次の複数指定可能な接尾辞を指定します.
メモリの % 1%, b は 1, K は 1024 (標準) のように M, G, T, P, E, Z, T.
*** 警告 ***
環境変数によって指定されたロカールで並び替えの順番が変わります.
本来のバイト単位の数値で昔ながらの並び替え順にしたいならば LC_ALL=C を指定.
0 件のコメント:
コメントを投稿