SORT(1V)                ユーザ・コマンド                SORT(1V)



【名前】
     sort - 行のソートと照合

【形式】
     sort [ -bdfiMnr ] [ -tc ] [ sort-field...  ] [ -cmu ]
          [ -o[ ]outputfile ] [ -T directory ] [ -y kmem ]
          [ -z recsz ] filename...

【SYSTEM V の形式】
     /usr/5bin/sort [ -bdfiMnr ] [ -tc ] [ sort-field...  ]
                    [ -cmu ] [ -o[ ]outputfile ] [ -T directory ]
                    [ -y kmem ] [ -z recsz ] filename...

【使用条件】
     System V バージョンのこのコマンドは、 System V ソフトウェ ア
     ・イ ン ストレーション・オプションとともに提供されます。オプ
     ション・ソフトウェアのインストール方法については「SunOSイ ン
     ストレーション・ガイド」を参照してください。

     なお JLE では、このコマンドは自動的にインストールされます。

【国際機能】
     sort は EUC 主および補助コードセットの文字を含む行を比較し、
     ソートすることができます。ソートの順序は、各コードセットのバ
     イト値に従います。複数のコードセットが使われている場 合 は、
     コー ド セット 0, 2, 3, 1 の順序でソートが行われます。すなわ
     ち、 ASCII 文字が最初で、次にコードセット2、コードセット 3、
     コードセット1の順になります。

     次のオプションも使用できます。

     -d        補助コードセットの文字をソート・キーとして使用しま
               せん。

     -f        主コードセット ASCII の大文字と小文字の区別をし ま
               せん。

     -i        補助コードセットの文字を無視します。

     -M        現在の locale テーブルからの月名と順序を使用 し ま
               す。

     -t        補助コードセットの区切り文字を使用することができま
               す。補助コードセットのスペース文字を区切り文字とし
               て使用する場合は、このオプションで指定しなければな
               りません。

     -w.c      このオプションはできるだけ使用しないでください。オ
               フセットがバイト単位なので、複数バイト文字の中央に
               対してオフセットが取られ、予期しない結果となること
               があります。

  [環境]
     環境変数 LC_CTYPE, LANG は、 sort の文字分類を制御し ま す。
     sort  を起動すると、これらの環境変数は LC_CTYPE, LANG の順に
     チェックされます。有効な値が検出されると、文字分類の残りの環
     境 変 数 は 無 視されます。たとえば、LANG を新しく設定しても
     LC_CTYPE の現在有効な文字分類に上書きすることはありませ ん。
     有 効 な値がない場合、シェルの文字分類はデフォルトで POSIX.1
     の C の locale に設定されます。

【機能説明】
     sort プログラムは指定したファイルに含まれる行をソート、照 合
     して、その結果を標準出力に書き込みます。 filename 引数を指定
     しなかったり、引数として `-' を使用した場合、 sort は標準 入
     力からの入力を使用します。

     出力行は通常、左から右へ文字単位でソートされます。省略時の照
     合 順序は ASCII 文字セットの順序です。行は後述のオプションの
     項で説明するように +sw (開始ワード)、 -ew (終了ワード)および
     -tc (タブ・セット文字/ワード区切り文字)オプションを使用し、
     sort-field、指定によって指定する1つ以上のフィールド 内 容 に
     従ってソートできます。ワード区切り文字を指定しなければ、隣り
     合う1つ以上のスペース文字 (スペースとタブ)は先行するワードの
     終わりを示します。次の例を見てください。
          ^^^ xyz
          ^^^   xyz

     は
          ^^^   xyz
          ^^^ xyz

     として照合されます。

     各 sort-field はコマンド行に指定された順番で評価されます。後
     方のフィールドは、先行するすべてのフィールドが同等である場合
     に限って参照されます。ソート用に指定したすべてのフィールドが
     同等である行が複数個存在する場合、それらの行のサブセットが左
     から右へ文字単位でソートされます。

【SYSTEM V の機能説明】
     コマンド行にフィールドを指定しないと、 -n (数字の照合 順 序)
     オプションを使用していても、 System V の sort は先行するブラ
     ンクを有効とみなします。次の行
          123
            23

     は
            23
          123
     として照合されます。

【オプション】
  [フラグの照合]
     -b   フィールドの開始位置と終了位置を決定する際に、先行す る
          スペース文字を無視します。

     -d   辞書の順。文字、数字、スペースおよびタブ文字だけを、 比
          較の対象とします。

     -f   大文字と小文字を区別しません。大文字と小文字を比較す る
          際に同じものとして扱います。

     -i   非数値比較を行う際に、 ASCII コードの範囲 040〜0176  外
          の文字を無視します。

     -M   月順。フィールドのブランクでない最初の3文字を大文 字 に
          し、  JAN FEB ...  DEC の順に照合します。この範囲に含ま
          れないフィールド値は JAN よりも先に現れます。 -M  オ プ
          ションは -b オプションを暗黙のうちに含んでいます。

     -n   数字の照合順。省略可能なブランク、省略可能な負符号、 ゼ
          ロ 個以上の数字、小数点からなる最初の数字文字列を算術的
          な数値としてソートします。 -n オプションはコマンド行 で
          1 つ以上の sort-filed を指定した場合、 -b オプションを
          暗黙のうちに含んでいます。

     -r   逆順にソートします。

  [フィールド指定オプション]
     -tc  c をワード区切り文字として使用します。スペース文字と は
          異 なり、ここで指定した区切り文字が連続して現われると、
          その各々がワードの区切りを示します。たとえば : を区切り
          文字とした場合、 :: は「空のワード」を区切ります。

     sort-field
          これは各行内でソートするフィールドを指定する、オプ ショ
          ン の組み合せです。 sort-field 指定は、次のいずれかの書
          式をとります。
               +sw[cf]
               +sw -ew[cf]

          ここで sw はフィールドに含める最初のワードの番号(`0' で
          始まる)であり、 ew はフィールドを終了するワードの次の番
          号を示します。また、 cf は照合フラグ (先行の `-' をもた
          な い)  を 含む文字列です。 sort-field 指定に含まれた場
          合、これらのフラグは指定対象のフィールドにのみ適用さ れ
          ま す。また、本フラグ指定は、別の引数で与えられたその他
          の照合フラグは (通常は行全体に適用される)よりも優先され
          ます。

          -ew オプションを省略すると、フィールドは行の最後まで 続
          きます。

     `w.c' の表記を使用すれば、 sw と ew に文字オフセットを適用し
     て、フィールドを開始または終了するオフセット (ワード内の指定
     バイト位置)を指定できます。書式に指定した開始位置: `+w.c' は
     ワー ド  w 内のカラム位置 c における文字(最初の文字が 0 とす
     る)を指定します (1 と 1.0 は同等)。書式に指定した終了位 置 :
     `-w.c'  はフィールドがワード w 内のカラム位置 c の直前の文字
     (最初の文字の直前の区切り文字が 0 とする)で終了することを 指
     定 します。 -b フラグが有効な場合、 c はフィールド内のスペー
     スや区切り文字以外の最初の文字からカウントされ、 -b が有効で
     なければ区切り文字がカウントされます。

  [その他のオプション]
     -c   入力ファイルが順序付けの規則に従ってソート済みである か
          ど うかチェックします。ソート済みであれば何も出力しませ
          ん。

     -m   ファイルのマージのみを行います。入力ファイルはソート 済
          みであるものとします。

     -u   ソート対象のフィールドがすべて同じ行が複数個合った場 合
          に、その中の1行目だけを出力します。

     -ooutputfile
     -o outputfile
          出力を標準出力ではなく、 outputfile として指定した ファ
          イルに書き出します。このファイルは入力ファイルの1つと同
          じでも構いません。

     -y kmem
          ソートが使用するメイン・メモリのサイズは、その性能に 大
          き な影響を及ぼします。大きなメモリ内で小さなファイルを
          ソートするのはメモリの使用効率がよくありません。この オ
          プ ションを省略すると、 sort はシステムの省略時のメモリ
          ・サイズを使用して実行を開始し、必要に応じて空間を追 加
          し ます。このオプションを指定すると、 sort は kmem で指
          定された大きさ(キロバイト単位)の、あるいはそれが可能 な
          ら できるだけそれに近いサイズのメモリを使用して、実行を
          開始します。 -y0 を使用すると、 sort は最小のメモリで実
          行 を開始します。慣習上、 -y (引数なし)は最大のメモリで
          実行を開始します。

     -z recsz
          ソートの段階で読み取った最長行のサイズを記録して、 マー
          ジ のときにバッファを割り当てるようにしてあります。ただ
          し、 -c オプションか -m オプションのいずれかが有効で あ
          る ためにソートを省略すると、省略時のサイズの 1024 バイ
          トがバッファ・サイズとなります。バッファ・サイズより 長
          い 行があると、 sort は異常終了してしまいます。これを防
          ぐには、本オプションでマージされる最長行の実バ イ ト 数
          (または大きめの値)を指定してください。

     -T directory
          directory 引数は一時ファイルを収めるディレクトリの名 前
          です。

【使用例】
     ワード番号1(2番目のワード)をソート・キーとして input-file の
     内容をソートする場合:

          sort +1 -2 input-file

   -
     file1 と input-file2 内容を逆順にソートし、出力を outputfile
     に入れる場合:

          sort -r -o outputfile +1.0 -1.1 input-file1 input-file2

     2 番目のフィールドのブランクでない最初の文字をソート・キーと
     して、 input-file1 と input-file2 の内容を逆順にソートする場
     合:

          sort -r +1.0b -1.1b input-file1 input-file2

     パスワード・ファイル(passwd(5)) を数値ユーザ ID (コロンで区
     切られた3番目のフィールド)によってソートし、出力する場合:

          sort -t: +2n -3 /etc/passwd

     次の例は、ソート済みのファイル input-file の行を出力します。
     こ のとき、3番目のフィールドの内容に同じ行が複数個ある場合、
     その最初の行のみを出力します。 (入力ファイルを1つだけ指定 し
     た オプション -mu は、同じ内容の行の集合があると、その代表と
     して一つだけを選びます。

          sort -mu +2 -3 input-file

【ファイル】
     /usr/tmp/stm???

【関連項目】
    comm(1),join(1),rev(1),uniq(1)

【診断】
     各種の異常状態が発生したり (入力行が長すぎる場合な ど)、  -c
     オプションの下で未ソートの状態が発見された場合には、コメント
     を出力し、ゼロ以外のステータスで終了します。

   -
     LINE を追加し、警告メッセージを出し、実行を継続します。