「msort」の版間の差分

提供: Personal Tukubai for Academic
ナビゲーションに移動 検索に移動
(Batch Update)
(Batch Update)
 
(同じ利用者による、間の1版が非表示)
9行目: 9行目:
 
=== Usage ===
 
=== Usage ===
  
msort key=<key> <file>
+
<pre>msort key=&lt;key&gt; &lt;file&gt;</pre>
 
 
 
=== Option ===
 
=== Option ===
  
<blockquote>-e
+
<pre>-e
</blockquote>
+
-s&lt;c&gt;
<blockquote>-s&lt;c&gt;
+
-p&lt;n&gt;</pre>
</blockquote>
 
<blockquote>-p&lt;n&gt;
 
</blockquote>
 
 
== 説明 ==
 
== 説明 ==
  
key=<key> にしたがって <file> のソートを行います。<key> として、フィールドの位置を指定できます。
+
key=&lt;key&gt; にしたがって &lt;file&gt; のソートを行います。&lt;key&gt; として、フィールドの位置を指定できます。
  
<blockquote>msort key=2 file
+
<pre>msort key=2 file
</blockquote>
+
msort key=2/5 file
<blockquote>msort key=2/5 file
+
msort key=3@1@NF file</pre>
</blockquote>
 
<blockquote>msort key=3@1@NF file
 
</blockquote>
 
 
キーの長さやキーフィールド数の制限はありません。日本語などのマルチバイト文字が含まれていても構いません。フィールド位置の後に r を付けると、そのフィールドは降順にソートされます。n を付けると数値として比較されます。nr を付けると、数値として比較されて降順にソートされます。/ の前後のフィールドにソート種別を付ける場合は、前後で揃っている必要があります。
 
キーの長さやキーフィールド数の制限はありません。日本語などのマルチバイト文字が含まれていても構いません。フィールド位置の後に r を付けると、そのフィールドは降順にソートされます。n を付けると数値として比較されます。nr を付けると、数値として比較されて降順にソートされます。/ の前後のフィールドにソート種別を付ける場合は、前後で揃っている必要があります。
  
<blockquote>msort key=2n/5n file ○
+
<pre>msort key=2n/5n file    
</blockquote>
+
msort key=2n/5nr file     ×
<blockquote>msort key=2n/5nr file ×
+
msort key=2n/5r file     ×</pre>
</blockquote>
 
<blockquote>msort key=2n/5r file ×
 
</blockquote>
 
 
ファイル名を指定しない、或は - を指定した場合、標準入力から読み込みます。
 
ファイル名を指定しない、或は - を指定した場合、標準入力から読み込みます。
  
 
-e オプションを指定すると、以下の置換を行った文字列で比較を行います。
 
-e オプションを指定すると、以下の置換を行った文字列で比較を行います。
  
<blockquote>_ → 0x20 (space)
+
<pre>_ 0x20 (space)
</blockquote>
+
\0 → 0x00 (null)
<blockquote>\0 → 0x00 (null)
+
\t 0x09 (tab stop)
</blockquote>
+
\n 0x0a (new line)
<blockquote>→ 0x09 (tab stop)
+
\r 0x0d (carrige return)
</blockquote>
+
\_ → 0x5f (under score)
<blockquote>→ 0x0a (new line)
+
\\ → 0x5c (back slash)</pre>
</blockquote>
 
<blockquote>→ 0x0d (carrige return)
 
</blockquote>
 
<blockquote>_ → 0x5f (under score)
 
</blockquote>
 
<blockquote>\ → 0x5c (back slash)
 
</blockquote>
 
 
この置換の _ は、-s&lt;c&gt; オプションで変更することができます。
 
この置換の _ は、-s&lt;c&gt; オプションで変更することができます。
  
-p<n> オプションを指定すると、&lt;n&gt; プロセスで並列実行します。指定できるプロセス数に制限はありませんが、コア(CPU)数より多いプロセス数を指定すると性能が低下します。 入力が 10000 行未満の場合は、-p&lt;n&gt; オプションを指定しても 1 プロセスで実行されます。
+
-p&lt;n&gt; オプションを指定すると、&lt;n&gt; プロセスで並列実行します。指定できるプロセス数に制限はありませんが、コア(CPU)数より多いプロセス数を指定すると性能が低下します。 入力が 10000 行未満の場合は、-p&lt;n&gt; オプションを指定しても 1 プロセスで実行されます。
  
 
== 注意 ==
 
== 注意 ==
65行目: 48行目:
 
== 備考 ==
 
== 備考 ==
  
msort はオンメモリソートの為、最大でソートするファイルの3倍程度の量のメモリを消費します。
+
msort はオンメモリソートの為、最大でソートするファイルの3倍程度の量のメモリを消費します。
  
 
== Version and Edition ==
 
== Version and Edition ==
77行目: 60行目:
  
 
© 2021 Universal Shell Programming Laboratory [https://www.usp-lab.com/ site]
 
© 2021 Universal Shell Programming Laboratory [https://www.usp-lab.com/ site]
 
  
  
 
[[Category:man]]
 
[[Category:man]]

2021年6月7日 (月) 08:37時点における最新版

名前

msort : オンメモリーソート

書式

使い方とオプション

Usage

msort key=<key> <file>

Option

-e
-s<c>
-p<n>

説明

key=<key> にしたがって <file> のソートを行います。<key> として、フィールドの位置を指定できます。

msort key=2 file
msort key=2/5 file
msort key=3@1@NF file

キーの長さやキーフィールド数の制限はありません。日本語などのマルチバイト文字が含まれていても構いません。フィールド位置の後に r を付けると、そのフィールドは降順にソートされます。n を付けると数値として比較されます。nr を付けると、数値として比較されて降順にソートされます。/ の前後のフィールドにソート種別を付ける場合は、前後で揃っている必要があります。

msort key=2n/5n  file      ○
msort key=2n/5nr file      ×
msort key=2n/5r  file      ×

ファイル名を指定しない、或は - を指定した場合、標準入力から読み込みます。

-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> オプションで変更することができます。

-p<n> オプションを指定すると、<n> プロセスで並列実行します。指定できるプロセス数に制限はありませんが、コア(CPU)数より多いプロセス数を指定すると性能が低下します。 入力が 10000 行未満の場合は、-p<n> オプションを指定しても 1 プロセスで実行されます。

注意

msort はマージソートによってソートを行っていますので、入力データによって実行時間が異常に長くなるということはありません。

備考

msort はオンメモリソートの為、最大でソートするファイルの3倍程度の量のメモリを消費します。

Version and Edition

Version: Tue Jan 12 23:04:38 JST 2021

Edition: 5


© 2021 Universal Shell Programming Laboratory site