動画説明
msort
概要
msort : オンメモリソート
書式
Usage : msort key=<pos> <file>
Options : -p<n>
-e
-s<c>
Version : Wed Mar 7 13:53:56 JST 2018
Edition : 5
説明
key=<pos> にしたがって <file> のソートを行います。<pos> として、フィ
ールドの位置を指定できます。
msort key=2 file
msort key=2/5 file
msort key=3@1@2 file
キーの長さやキーフィールド数の制限はありません。日本語などのマルチバ
イト文字が含まれていても構いません。フィールド位置の後に r を付ける
と、そのフィールドは降順にソートされます。n を付けると数値として比較
されます。nr を付けると、数値として比較されて降順にソートされます。
/ の前後のフィールドにソート種別を付ける場合は、前後で揃っている必要
があります。
msort key=2n/5n file ○
msort key=2n/5nr file ×
msort key=2n/5r file ×
ファイル名が無い、あるいは、"-" で指定した場合、標準入力を読み込みま
す。
-p<n> オプションを指定すると、<n> プロセスで並列実行します。指定でき
るプロセス数に制限はありませんが、コア(CPU)数より多いプロセス数を指
定すると性能が低下します。入力が 10000 行未満の場合は、-p<n> オプシ
ョンを指定しても 1 プロセスで実行されます。
-T<tmpdir> オプションを指定すると、一時ファイルが必要な場合に一時ファ
イルをディレクトリ <tmpdir> に作成します。デフォールトは /tmp です。
一時ファイルが必要な場合は、入力ファイルがパイプ等の特殊ファイルの場
合です。ただし、Linux の場合は、入力ファイルが特殊ファイルの場合でも
一時ファイルを使いませんので、このオプションは無視されます。
-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> オプションで変更することができます。
<注意>
msort はマージソートによってソートを行っていますので、入力データによ
って実行時間が異常に長くなるということはありません。
<備考>
msort はオンメモリソートの為、最大でソートするファイルの3倍程度の量
のメモリを消費します。