sort (textutils) 2.0.21

Submitted by:	SUZUKI Koichi <metal@gc5.so-net.ne.jp>
This commit is contained in:
Kazuo Horikawa 2003-01-13 07:21:28 +00:00
parent b001151637
commit d40b6683bd
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=15637

View file

@ -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 である 0400176 (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 が悪いのです。
で完全なマニュアルを見ることができるはずです。