サイト内検索:
psort : パーシャルソート
使い方とオプション
psort ref=<ref> key=<key> <file>
-e
-s<c>
<ref> で指定したフィールドが同じ値をもつレコード単位に、<key> で指定したフィールドをキーにしてソートします。小さな単位でソートしていくので、ファイル全体をソートするよりも、高速に動作します。
$ cat data
A B 1
A A 2
A E 3
A C 4
A D 5
B B 1
B A 2
B E 3
B C 4
B D 5
$ psort ref=1 key=2 data
A A 2
A B 1
A C 4
A D 5
A E 3
B A 2
B B 1
B C 4
B D 5
B E 3
-e オプションを指定すると、以下の置換を行った文字列で比較を行います。
_ → 0x20 (space)
\0 → 0x00 (null)
\t → 0x09 (tab stop)
\n → 0x0a (new line)
\r → 0x0d (carrige return)
\_ → 0x5f (under score)
\\ → 0x5c (back slash)
この置換の _ は、-s<c> オプションで変更することができます。
ref=1@2 key=2/4 のような複数キー指定もできます。詳しくは、msort(USP)を参照してください。
msort key=A@X, msort key=A@Y, … のように共通キーがある複数のソートを行う場合、
msort key=A >temp_file psort ref=A key=X temp_file >OUT_X psort ref=A key=Y temp_file >OUT_Y …
のように行うと早い。
Version : Tue Jan 12 23:04:38 JST 2021
Edition : 4
© 2021 Universal Shell Programming Laboratory site