sort (textutils) 2.0.21
Submitted by: SUZUKI Koichi <metal@gc5.so-net.ne.jp>
This commit is contained in:
parent
b001151637
commit
d40b6683bd
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=15637
1 changed files with 98 additions and 227 deletions
|
@ -1,244 +1,115 @@
|
|||
.\" %FreeBSD: src/gnu/usr.bin/sort/sort.1,v 1.5.8.1 2001/07/22 11:01:34 dd Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.TH SORT 1 "GNU Text Utilities" "FSF" \" -*- nroff -*-
|
||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.25.
|
||||
.TH SORT "1" "February 2002" "sort (textutils) 2.0.21" "User Commands"
|
||||
.SH 名称
|
||||
sort \- テキストファイルを行でソートする
|
||||
.SH 書式
|
||||
.B sort
|
||||
[\-cmus] [\-t separator] [\-o output-file] [\-T tempdir] [\-bdfiMnr]
|
||||
[+POS1 [\-POS2]] [\-k POS1[,POS2]] [file...]
|
||||
.br
|
||||
.B sort
|
||||
{\-\-help,\-\-version}
|
||||
[\fIOPTION\fR]... [\fIFILE\fR]...
|
||||
.SH 解説
|
||||
このマニュアルページは GNU 版の
|
||||
.B sort
|
||||
について書かれています。
|
||||
.B sort
|
||||
は、file が指定されていればそのファイルから、
|
||||
ファイルが指定されない場合は標準入力からデータを読み込み、
|
||||
入力した各行について、ソートやマージや比較を行います。
|
||||
ファイル名 `-' は標準入力を意味します。
|
||||
.B sort
|
||||
はデフォルトでは標準出力に結果を書き出します。
|
||||
.\" Add any additional description here
|
||||
.PP
|
||||
.B sort
|
||||
は、3 つの動作モードを持っています。
|
||||
(デフォルトの) ソートと、マージと、ソートされているかどうかのチェックです。
|
||||
以下のオプションで動作モードを変更します。
|
||||
.TP
|
||||
.I \-c
|
||||
ファイルが既にソートされたものであるかどうかチェックします。
|
||||
もし、ソートされてなければ、エラーメッセージを表示すると共に、
|
||||
戻り値に 1 を返します。
|
||||
.TP
|
||||
.I \-m
|
||||
複数のファイルをひとまとまりしてソートすることで、
|
||||
それらをマージします。
|
||||
個々のファイルは、あらかじめソートしておかなければなりません。
|
||||
ソートはいつでもマージの代わりに動きます。
|
||||
マージのオプションがあるのは、単なるマージですむ場合には、
|
||||
その方がずっと高速だからです。
|
||||
すべての FILE を結合したものをソートし、標準出力に書き込みます。
|
||||
.PP
|
||||
入力行は次のようにして比較されます。
|
||||
キーフィールドが指定されている時には、
|
||||
.B sort
|
||||
は、違いが見つかるかキーフィールドがなくなるまで、
|
||||
コマンド行で指定された順に、キーフィールド同士を、
|
||||
関連づけられた順序オプションに従い比較します。
|
||||
順番を指定するオプションは以下です:
|
||||
.PP
|
||||
もしグローバルオプション
|
||||
.I Mbdfinr
|
||||
のどれかが指定され、キーフィールドが指定されなければ、
|
||||
.B sort
|
||||
はグローバルオプションにしたがって、行全体を比較します。
|
||||
長い形式のオプションに必要な引数は、短い形式のオプションでも必要です。
|
||||
.HP
|
||||
\fB\-b\fR, \fB\-\-ignore\-leading\-blanks\fR 先頭にある空白を無視します。
|
||||
.TP
|
||||
\fB\-d\fR, \fB\-\-dictionary\-order\fR
|
||||
空白とアルファベット、数字以外を無視します。
|
||||
.TP
|
||||
\fB\-f\fR, \fB\-\-ignore\-case\fR
|
||||
小文字を大文字に直します。
|
||||
.TP
|
||||
\fB\-g\fR, \fB\-\-general\-numeric\-sort\fR
|
||||
一般的な数値による比較をします。
|
||||
.TP
|
||||
\fB\-i\fR, \fB\-\-ignore\-nonprinting\fR
|
||||
印字可能文字以外を無視します。
|
||||
.TP
|
||||
\fB\-M\fR, \fB\-\-month\-sort\fR
|
||||
(不明) < `JAN' < ... < `DEC' のように比較します。
|
||||
.TP
|
||||
\fB\-n\fR, \fB\-\-numeric\-sort\fR
|
||||
数字列として比較します。
|
||||
.TP
|
||||
\fB\-r\fR, \fB\-\-reverse\fR
|
||||
比較結果を逆順にします。
|
||||
.PP
|
||||
すべてのキーが等しい場合
|
||||
(または順序を指示するオプションが全く指定されていない場合) 、
|
||||
.B sort
|
||||
は最終手段として、
|
||||
そのマシンでの文字の照合順 (machine collating sequence) にしたがって、
|
||||
各行をバイト毎に比較します。
|
||||
この最終手段においては、
|
||||
.I \-r
|
||||
オプションが有効です。
|
||||
.I \-s
|
||||
(stable) オプションは、この最終手段の比較をやめて、
|
||||
全てのキーフィールドが等しい行同士の相対的な出現順を保ちます。
|
||||
キーフィールドやグローバルオプションを全く指定しない時には
|
||||
.I \-s
|
||||
は効果を持ちません。
|
||||
その他のオプション:
|
||||
.TP
|
||||
\fB\-c\fR, \fB\-\-check\fR
|
||||
入力がソートされているかチェックします。ソートしません。
|
||||
.TP
|
||||
\fB\-k\fR, \fB\-\-key\fR=\fIPOS1[\fR,POS2]
|
||||
キーを POS1 から開始し、POS2 までとします (1 オリジン)。
|
||||
.TP
|
||||
\fB\-m\fR, \fB\-\-merge\fR
|
||||
ソート済みのファイルをマージします。ソートしません。
|
||||
.TP
|
||||
\fB\-o\fR, \fB\-\-output\fR=\fIFILE\fR
|
||||
結果を、標準出力ではなく FILE に書き込みます。
|
||||
.TP
|
||||
\fB\-s\fR, \fB\-\-stable\fR
|
||||
最終手段の比較を無効にして、安定したソートを行います。
|
||||
.TP
|
||||
\fB\-S\fR, \fB\-\-buffer\-size\fR=\fISIZE\fR
|
||||
メインメモリのバッファを SIZE にします。
|
||||
.HP
|
||||
\fB\-t\fR, \fB\-\-field\-separator\fR=\fISEP\fR 非空白文字から空白文字への変わり目ではなく、SEP を使用します。
|
||||
.TP
|
||||
\fB\-T\fR, \fB\-\-temporary\-directory\fR=\fIDIR\fR
|
||||
一時ディレクトリとして $TMPDIR や /tmp ではなく DIR を使用します。
|
||||
複数のオプション指定によって、複数のディレクトリを指定します。
|
||||
.TP
|
||||
\fB\-u\fR, \fB\-\-unique\fR
|
||||
\fB\-c\fR が指定された場合、厳密な順序のチェックをします。
|
||||
それ以外の場合、等しい連の最初の行のみ出力します。
|
||||
.TP
|
||||
\fB\-z\fR, \fB\-\-zero\-terminated\fR
|
||||
行を、改行ではなく 0 のバイトで終了します。
|
||||
.TP
|
||||
\fB\-\-help\fR
|
||||
このヘルプを表示し、終了します。
|
||||
.TP
|
||||
\fB\-\-version\fR
|
||||
バージョン情報を出力し、終了します。
|
||||
.PP
|
||||
GNU
|
||||
.B sort
|
||||
には、入力行の長さの制限 (行に含まれるバイト数の制限) はありません。
|
||||
また、入力ファイルの最後の 1 バイトが改行文字でない時には、
|
||||
GNU
|
||||
.B sort
|
||||
は黙って改行文字を補って処理を行います。
|
||||
POS は F[.C][OPTS] という形式です。
|
||||
ここで F はフィールド番号で、C はフィールド内の文字位置です。
|
||||
OPT は、1 つ以上の 1 文字順序オプションです。
|
||||
これは、このキーに対して、グローバルな順序オプションを上書きします。
|
||||
キーの指定がない場合、1 行すべてがキーとなります。
|
||||
.PP
|
||||
環境変数
|
||||
.B TMPDIR
|
||||
が設定されている場合、
|
||||
.B sort
|
||||
は、デフォルトの /tmp の代わりに、
|
||||
これを作業ファイルを置くディレクトリとして用います。
|
||||
.I "\-T tempdir"
|
||||
オプションも作業ファイル用ディレクトリの指定に使えます。
|
||||
この指定は環境変数よりも優先されます。
|
||||
SIZE には、以下の乗法的な接尾辞が続いても構いません:
|
||||
% メモリの 1% , b 1, K 1024 (デフォルト), 以下同様に M, G, T, P, E, Z, Y。
|
||||
.PP
|
||||
以下に示すオプションによって、出力行の順序付けを制御できます。
|
||||
これらはグローバルに指定したり、特定のキーフィールドについて
|
||||
指定することもできます。
|
||||
キーフィールドを指定しない時には、
|
||||
グローバルオプションは行全体の比較に適用されます。
|
||||
キーフィールドを指定した時には、
|
||||
それ固有の指定を持たないキーフィールドに
|
||||
グローバルオプションの動作が継承されます。
|
||||
.TP
|
||||
.I \-b
|
||||
ソートキーを見つける時、先頭にある空白を無視します。
|
||||
.TP
|
||||
.I \-d
|
||||
`電話帳順' でソートします。アルファベット、数字、空白以外の文字を無視します。
|
||||
.TP
|
||||
.I \-f
|
||||
英小文字は大文字に直してソートします。
|
||||
例えば、`b' は `B' と同様にソートされます。
|
||||
.TP
|
||||
.I \-i
|
||||
ASCII である 040~0176 (8進、両端を含む) の範囲に含まれない
|
||||
文字を無視します。
|
||||
.TP
|
||||
.I \-M
|
||||
行先頭にある、空白の後ろに月の英語名の略称が続いた文字列を、
|
||||
大文字に変換した上で、
|
||||
`JAN' < `FEB' < ... < `DEC' の順で比較します。
|
||||
月の名称でない文字列は、月の名称の文字列より小さいと見なされます。
|
||||
.TP
|
||||
.I \-n
|
||||
行先頭にある数字列を、数値として比較します。
|
||||
数字列は、空白 (オプション)、マイナス符号 (オプション)、
|
||||
0 個以上の数字、小数点と 0 個以上の数字の組 (オプション)
|
||||
から構成されます。
|
||||
.TP
|
||||
.I \-r
|
||||
比較結果を逆にし、より大きなキー値を持つ行が出力で
|
||||
先に出てくるようにします。
|
||||
FILE の指定がない場合や FILE が - の場合は、標準入力を読み込みます。
|
||||
.PP
|
||||
その他のオプションは以下の通りです。
|
||||
.TP
|
||||
.I "\-o output-file"
|
||||
結果を標準出力の代わりに、
|
||||
.I output-file
|
||||
に出力します。
|
||||
.I output-file
|
||||
が入力ファイルの 1 つである場合、
|
||||
*** 警告 ***
|
||||
環境によって指定されるロケールは、ソートの順序に影響を及ぼします。
|
||||
生のバイトの値を用いる伝統的なソート順序にするには、
|
||||
LC_ALL=C を設定してください。
|
||||
.SH 作者
|
||||
Mike Haertel と Paul Eggert によって書かれました。
|
||||
.SH バグレポート
|
||||
バグは <bug-textutils@gnu.org> に報告してください。
|
||||
.SH COPYRIGHT
|
||||
Copyright \(co 2002 Free Software Foundation, Inc.
|
||||
.br
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
.SH 関連項目
|
||||
.B sort
|
||||
はソートし結果を書き出す前に、
|
||||
その入力ファイルを作業ファイルにコピーします。
|
||||
.TP
|
||||
.I "\-t separator"
|
||||
文字
|
||||
.I separator
|
||||
を、各行でソートキーを決める時のフィールド区切りとします。
|
||||
デフォルトでは、空白でない文字と空白文字の間でフィールドを区切ります。
|
||||
例えば、` foo bar' という行は、` foo' と ` bar' という 2 つの
|
||||
フィールドに分けられます。
|
||||
すなわち、入力行 ` foo bar' が与えられた場合、
|
||||
の完全な文書は Texinfo マニュアルとして保守されています。
|
||||
もしあなたのサイトに
|
||||
.B info
|
||||
プログラムと
|
||||
.B sort
|
||||
は、この行をフィールド ` foo' と ` bar' に分割します。
|
||||
フィールド区切りの文字は、その前のフィールドの一部と見なされず、また、
|
||||
その後のフィールドの一部とも見なされません。
|
||||
.TP
|
||||
.I \-u
|
||||
デフォルトの場合、および
|
||||
.I \-m
|
||||
オプションが指定された場合、比較して等しいとされた行のうち
|
||||
最初の 1 行だけ出力し、後は出力しないようにします。
|
||||
.I \-c
|
||||
オプションが指定された場合は、
|
||||
同じ内容の行が連続しないことをチェックします。
|
||||
.TP
|
||||
.I "+POS1 [\-POS2]"
|
||||
行の中で、ソートのキーとして使うフィールドを指定します。
|
||||
フィールドは、行の中で、位置 POS1 から始まり
|
||||
位置 POS2 まで (POS2 は含まず) の部分からなります。
|
||||
フィールドの位置と文字の位置は、ともに 0 から数え始めます。
|
||||
.TP
|
||||
.I "\-k POS1[,POS2]"
|
||||
ソートキーを指定するもう 1 つの書式です。
|
||||
フィールドの位置と文字の位置は、ともに 1 から数え始めます。
|
||||
プログラムが正しくインストールされていれば、コマンド
|
||||
.IP
|
||||
.B info sort
|
||||
.PP
|
||||
位置の指定は、\fIf\fP.\fIc\fP の形式を持ちます。
|
||||
\fIf\fP はフィールド番号の指定であり、
|
||||
\fIc\fP は、(\fI+pos\fPの場合) フィールドの先頭から数えた先頭文字の番号、
|
||||
あるいは、
|
||||
(\fI\-pos\fPの場合) 直前のフィールドの末尾から数えた先頭文字の番号の
|
||||
指定です。
|
||||
フィールド内の最初の文字を指定する場合には、.\fIc\fP の部分を
|
||||
省略することができます。
|
||||
.I \-b
|
||||
オプションが与えられた場合、フィールド指定の .\fIc\fP の部分は、
|
||||
(\fI+pos\fPの場合) そのフィールド内の最初の非空白文字から、
|
||||
あるいは、
|
||||
(\fI\-pos\fPの場合) 直前のフィールドの後ろの最初の非空白文字から
|
||||
数えた位置の指定になります。
|
||||
.PP
|
||||
引数 \fI+pos\fP や \fI-pos\fP には、オプション文字
|
||||
.I Mbdfinr
|
||||
を後ろに付けることもできます。
|
||||
その場合には、このフィールドにはグローバルな順序づけオプションは
|
||||
適用されません。
|
||||
.I \-b
|
||||
オプションは、\fI+pos\fP と \fI\-pos\fP のそれぞれに独立に
|
||||
指定できますが、グローバルな指定が継承される場合には
|
||||
両方に指定されたように働きます。
|
||||
.I \-n
|
||||
または
|
||||
.I \-M
|
||||
オプションが指定された場合、
|
||||
.I \-b
|
||||
オプションが暗黙のうちに指定されることになりますが、この
|
||||
.I \-b
|
||||
オプションは、キー指定の \fI+pos\fP と \fI\-pos\fP の両方に働きます。
|
||||
キーは複数のフィールドに跨っても構いません。
|
||||
.PP
|
||||
上記に加え、
|
||||
GNU
|
||||
.B sort
|
||||
が引数 1 個だけ付けて起動される時には、以下のオプションが
|
||||
認識されます。
|
||||
.TP
|
||||
.I "\-\-help"
|
||||
標準出力に使い方のメッセージを表示して正常終了します。
|
||||
.TP
|
||||
.I "\-\-version"
|
||||
標準出力にバージョン情報を表示して正常終了します。
|
||||
.SH 互換性
|
||||
.B sort
|
||||
の歴史的な実装 (BSD や System V) とは、いくつかのオプション、特に
|
||||
.IR \-b ,
|
||||
.IR \-f ,
|
||||
.IR \-n 、
|
||||
の解釈が異なります。
|
||||
GNU sort は POSIX の動作に従いますが、その動作は、普通 (必ずではない)
|
||||
System V の動作と似ています。
|
||||
POSIX によれば、
|
||||
.I \-n
|
||||
は
|
||||
.I \-b
|
||||
を暗黙に指定しなくなりました。
|
||||
整合性を取るために、
|
||||
.I \-M
|
||||
も同じように変更されました。
|
||||
この結果、あいまいな場合には、フィールド指定中の文字の位置の意味が
|
||||
影響される場合があるかも知れません。
|
||||
この問題にぶち当たったら、対応策は、明示的に
|
||||
.I \-b
|
||||
を指定することです。
|
||||
.SH バグ
|
||||
.I \-k
|
||||
の有り無しによりフィールド番号の意味が異なるのは混乱の元です。
|
||||
この件についてはすべて POSIX が悪いのです。
|
||||
で完全なマニュアルを見ることができるはずです。
|
||||
|
|
Loading…
Reference in a new issue