「psort」の版間の差分
ナビゲーションに移動
検索に移動
Pt4a editor (トーク | 投稿記録) 細 (Batch Update) |
Pt4a editor (トーク | 投稿記録) 細 (Batch Update) |
||
60行目: | 60行目: | ||
ref=1@2 key=2/4 のような複数キー指定もできます。詳しくは、msort(USP)を参照してください。 | 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 and Edition == | == Version and Edition == |
2021年8月19日 (木) 19:05時点における版
名前
psort : パーシャルソート
書式
使い方とオプション
Usage
psort ref=<ref> key=<key> <file>
Option
-e -s<c>
説明
<ref> で指定したフィールドが同じ値をもつレコード単位に、<key> で指定したフィールドをキーにしてソートします。小さな単位でソートしていくので、ファイル全体をソートするよりも、高速に動作します。
例(その1)
$ 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 and Edition
Version : Tue Jan 12 23:04:38 JST 2021
Edition : 4
© 2021 Universal Shell Programming Laboratory site