doc/ja_JP.eucJP/man/man1/sort.1
Kazuo Horikawa 6cc91c1200 o use "minus sign" instead of "- sign" (in Japanese expression), as the
former is easier to read in Japanese text.
o reword entire sort.1 so that expressions of translation get to close to
  original English expressions.

Submitted by:	kuma@jp.FreeBSD.org, sig@is.akita-u.ac.jp (SASAKI Shigeo)
2002-05-31 04:49:19 +00:00

244 lines
7.1 KiB
Groff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.\" %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 -*-
.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}
.SH 解説
このマニュアルページは GNU 版の
.B sort
について書かれています。
.B sort
は、file が指定されていればそのファイルから、
ファイルが指定されない場合は標準入力からデータを読み込み、
入力した各行について、ソートやマージや比較を行います。
ファイル名 `-' は標準入力を意味します。
.B sort
はデフォルトでは標準出力に結果を書き出します。
.PP
.B sort
は、3 つの動作モードを持っています。
(デフォルトの) ソートと、マージと、ソートされているかどうかのチェックです。
以下のオプションで動作モードを変更します。
.TP
.I \-c
ファイルが既にソートされたものであるかどうかチェックします。
もし、ソートされてなければ、エラーメッセージを表示すると共に、
戻り値に 1 を返します。
.TP
.I \-m
複数のファイルをひとまとまりしてソートすることで、
それらをマージします。
個々のファイルは、あらかじめソートしておかなければなりません。
ソートはいつでもマージの代わりに動きます。
マージのオプションがあるのは、単なるマージですむ場合には、
その方がずっと高速だからです。
.PP
入力行は次のようにして比較されます。
キーフィールドが指定されている時には、
.B sort
は、違いが見つかるかキーフィールドがなくなるまで、
コマンド行で指定された順に、キーフィールド同士を、
関連づけられた順序オプションに従い比較します。
.PP
もしグローバルオプション
.I Mbdfinr
のどれかが指定され、キーフィールドが指定されなければ、
.B sort
はグローバルオプションにしたがって、行全体を比較します。
.PP
すべてのキーが等しい場合
(または順序を指示するオプションが全く指定されていない場合) 、
.B sort
は最終手段として、
そのマシンでの文字の照合順 (machine collating sequence) にしたがって、
各行をバイト毎に比較します。
この最終手段においては、
.I \-r
オプションが有効です。
.I \-s
(stable) オプションは、この最終手段の比較をやめて、
全てのキーフィールドが等しい行同士の相対的な出現順を保ちます。
キーフィールドやグローバルオプションを全く指定しない時には
.I \-s
は効果を持ちません。
.PP
GNU
.B sort
には、入力行の長さの制限 (行に含まれるバイト数の制限) はありません。
また、入力ファイルの最後の 1 バイトが改行文字でない時には、
GNU
.B sort
は黙って改行文字を補って処理を行います。
.PP
環境変数
.B TMPDIR
が設定されている場合、
.B sort
は、デフォルトの /tmp の代わりに、
これを作業ファイルを置くディレクトリとして用います。
.I "\-T tempdir"
オプションも作業ファイル用ディレクトリの指定に使えます。
この指定は環境変数よりも優先されます。
.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
比較結果を逆にし、より大きなキー値を持つ行が出力で
先に出てくるようにします。
.PP
その他のオプションは以下の通りです。
.TP
.I "\-o output-file"
結果を標準出力の代わりに、
.I output-file
に出力します。
.I output-file
が入力ファイルの 1 つである場合、
.B sort
はソートし結果を書き出す前に、
その入力ファイルを作業ファイルにコピーします。
.TP
.I "\-t separator"
文字
.I separator
を、各行でソートキーを決める時のフィールド区切りとします。
デフォルトでは、空白でない文字と空白文字の間でフィールドを区切ります。
例えば、` foo bar' という行は、` foo' と ` bar' という 2 つの
フィールドに分けられます。
すなわち、入力行 ` foo bar' が与えられた場合、
.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 から数え始めます。
.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 が悪いのです。