sort(1) FreeBSD 一般コマンドマニュアル

sort

前のページ 上に戻る 次のページ

sort



書式

       sort  [-cmus] [-t separator] [-o output-file] [-T tempdir]
       [-bdfiMnr] [+POS1 [-POS2]] [-k POS1[,POS2]] [file...]
       sort {--help,--version}


解説

       このマニュアルページは GNU 版の sort について書かれてい ま
       す。  sort   は、file が指定されていればそのファイルから、
       ファイルが指定されないか `-' であれば標準入力からデータ を
       読み込み、入力した各行について、ソートやマージや比較を行い
       ます。 sort はデフォルトでは標準出力に結果を書き出します。

       sort   は、3 つの動作モードを持っています。 (デフォルトの)
       ソートと、マージと、ソートされているかどうかのチェッ ク で
       す。以下のオプションで動作モードを変更します。

       -c      ファイルが既にソートされたものであるかどうかチェッ
              クします。もし、ソートされてなければ、エラーメッ セ
              ージを表示すると共に、戻り値に 1 を返します。

       -m      複数のファイルをソートしながらマージします。個々の
              ファイルは、あらかじめソートしておかなければなり ま
              せ ん。ソートはいつでもマージの代わりに動きます。マ
              ージのオプションがあるのは、単なるマージですむ場 合
              には、その方がずっと高速だからです。

       入力行は次のようにして比較されます。キーフィールドが指定さ
       れている時には、 sort は、違いが見つかるかキーがなくなるま
       で、コマンドラインに指定された順にキーを比較します。

       も しグローバルオプション Mbdfinr のどれかが指定され、キー
       が指定されなければ、 sort はグローバルオプションにしたがっ
       て、行全体を比較します。

       すべてのキーが等しい時には (または順序を指示するオプション
       が指定されていない時) 、 sort は最後のソートとして、そのマ
       シ ン での文字の照合順 (machine collating sequence) にした
       がって、各行をバイト毎に比較します。最後のソートでは、  -r
       オ プションが有効です。 -s (stable) オプションは、この最後
       のソートをやめて、すべてのキーが等しい行の相対的な出現順を
       保ちます。キーフィールドやグローバルオプションを全く指定し
       ない時には -s は効果を持ちません。

       GNU sort には、入力行の長さの制限 (行に含まれるバイト数 の
       制 限) はありません。また、入力ファイルの最後の 1 バイトが
       改行文字でない時には、 GNU sort は改行文字を補って処理を行
       います。

       環境変数 TMPDIR が設定されていると、 sort はそれを作業ファ
       イルを置くディレクトリとして用います。 -T tempdir オプショ
       ンも作業ディレクトリの指定に使えます。この指定は環境変数よ
       りも優先されます。何も指定が無い時は /tmp を使います。
       -f     英大文字と小文字の区別をしません。

       -i     ASCII   コ ードの8進で 040〜0176 (32〜126, 空白から
              `~'まで) に含まれない文字を無視します。

       -M     空白を無視した最初の文字列の先頭から 3 文字を、月の
              英 名の略称とみなして (大文字にした上で) 、 `JAN' <
              `FEB' < ... < `DEC' の順に大小関係を決めます。月 の
              名 称でない文字列は、JAN (1月) より小さいと見なされ
              ます。

       -n     文字列を、数とみなし て 比 較 し ま す。 数 は、 空
              白(option)・-     記  号(option)・ 数 字 列・ 小 数
              点(option)・数字列(option)から構成されます。

       -r     比較の順番を逆にします。キーの昇順ではなく降順に 出
              力します。

       その他のオプションは以下の通りです。

       -o output-file
              結 果 を標準出力の代わりに、 output-file に出力しま
              す。出力ファイル名が入力ファイルの一つと同じで も、
              作業ファイルを作って処理するので問題ありません。

       -t separator
              separator  で指定した文字を、ソートキーを決める時の
              フィールド区切りとします。デフォルトでは、空白で な
              い 文字と空白文字の間でフィールドを区切ります。例え
              ば、` foo bar' という行は、` foo' と ` bar' とい う
              2  つのフィールドに分けられます。区切り文字を指定し
              た場合には、その文字はフィールドには含まれません。

       -u     ソート (デフォルト) およびマージ ( -m オプ ショ ン)
              動作時、同じ内容の行があった場合は、最初の 1 行だけ
              出力し、後は出力しないようにします。ソート済みか の
              チェック( -c オプション) の場合は、同じ内容の行が連
              続しない事をチェックします。

       +POS1 [-POS2]
              ソートのキーとして使うフィールドを指定します。 POS1
              が指定する位置から、POS2 が指定する位置の直前 (POS2
              を省略した場合は最後まで) のフィールドを使いま す。
              フィールドと文字の位置は最初を 0 番目と数えます。

       -k POS1[,POS2]
              ソートキーを指定するもう 1 つの書式です。フィールド
              と文字の位置は最初を 1 番目と数えます。

       位置の指定は、f.c の形式を持ちます。 f はフィールドの指 定
       であり、 c は先頭文字のフィールドの先頭からの文字位置(+pos
       の場合) あるいは直前のフィールドの末尾からの文字位 置(-pos+pos-pos の両方に働きます。キーは複数のフィールドに
       跨っても構いません。

       GNU  sort がただ一つの引数をつけて起動される時には、以下の
       オプションが認識されます。

       --help 標準出力に使い方を表示して正常終了します。

       --version
              標準出力にバージョン情報を表示して正常終了します。


互換性

       sort の歴史的な実装 (BSD や System V) とはいくつかの オ プ
       ショ ン、 特 に  -b, -f, -n、の解釈が異なります。 GNU sort
       は、POSIX の動作に従い、普通 (必ずではない) それは  System
       V  の動作と似ています。 POSIX によれば、 -n-b を暗黙に
       指定しなくなりました。整合性を取るために、 -M も同じように
       変更されました。これによってフィールド中の文字の位置の意味
       が影響される場合があるかも知れません。この問題を避け る に
       は、明示的に -b を指定して下さい。


バグ

       -k  の有り無しによりフィールド番号の意味が異なるのは混乱の
       元です。この件についてはすべて POSIX が悪いのです。



FSF                     GNU Text Utilities                SORT(1)

ABELNET VPSサービス