日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
SORT(1) FreeBSD 一般コマンドマニュアル SORT(1) 名称 sort -- テキストとバイナリファイルのレコード (行) をソートするか、または マージする 書式 sort [-bcCdfghiRMmnrsuVz] [-k field1[,field2]] [-S memsize] [-T dir] [-t char] [-o output] [file ...] sort --help sort --version 解説 sort ユーティリティは、行ごとに、テキストとバイナリファイルをソートしま す。行は、改行 (デフォルト) またはヌル '\0' 文字 (-z オプション) によって 後くレコードから分離されたレコードです。レコードは、あらゆる印刷可能また は印刷不可能な文字を含むことができます。比較は、入力の各行から抽出された 1 つ以上のソートキーに基づき、現在のロケールの照合する規則と実際のソート の振る舞いを調整することができる指定されたコマンド行のオプションにした がって、辞書編集的に行なわれます。デフォルトで、キーが与えられないなら、 sort は、比較のためにすべての行を使用します。 コマンド行オプションは、次の通りです: -c, --check, -C, --check=silent|quiet 単一の入力ファイルがソートされることをチェックします。ファイルが ソートされていないなら、sort は、適切なエラーメッセージを生成し て、コード 1 で終了し、そうでなければ、0 を返します。-C または --check=silent が指定されるなら、sort は、出力を生成しません。こ れは、-c の "サイレント" バージョンです。 -m, --merge マージのみ。入力ファイルは、前もってソートされていると仮定されま す。それらがソートされていないなら、出力の順序は、不確定です。 -o output, --output=output 標準出力の代わりに output ファイルに出力を印刷します。 -S size, --buffer-size=size メモリバッファの最大サイズのために size を使用します。サイズの修 飾子 %、b、K、M、G、T、P、E、Z、Y を使用することができます。メモ リの制限が明白に指定されないなら、sort は、利用可能なメモリの約 90% まで取り上げます。ファイルサイズがメモリバッファに入れるには 大きすぎるなら、一時的なディスクファイルがソートを行なうために使 用されます。 -T dir, --temporary-directory=dir ディレクトリ dir に一時的なファイルを格納します。デフォルトのパス は、環境変数 TMPDIR の値、または TMPDIR が定義されていないなら、 /var/tmp です。 -u, --unique ユニークなキー。既に処理されたものと等しいキーがあるすべての行を 抑制します。このオプションは、-s と同様にステーブル (stable) ソー トの意味を含みます。-c または -C とともに使用されるなら、sort は、重複したキーがある行ががないこともチェックします。 -s ステーブル (stable) ソート。このオプションは、等しいキーがあるレ コードのオリジナルのレコード順序を維持します。これは、非標準の機 能ですが、広く受け入れられて、使用されています。 --version バージョンを印刷して、静かに終了します。 --help ヘルプテキストを印刷して、静かに終了します。 次のオプションは、デフォルトの順序の規則を上書きします。順序のオプション がキーフィールドの指定と無関係に現われるとき、それらは、すべてのソート キーに全体的に適応します。特定のキー (-k を参照) にアタッチされるとき、順 序オプションは、それらがアタッチされるキーに対するすべての全体的な順序オ プションを上書きします。 -b, --ignore-leading-blanks 行を比較するとき、先導する空白文字を無視します。 -d, --dictionary-order 比較において空白類と英数字文字のみを考慮します。 -f, --ignore-case 比較の前に、すべての小文字をそれらの大文字の等しい物に変換しま す、すなわち、大文字と小文字を区別しないソートを実行します。 -g, --general-numeric-sort, --sort=general-numeric 一般的な数値によってソートします。-n に反対するものとして、このオ プションは、一般的な浮動小数点を扱います。それには、-n によって許 可されているものより多くの自由な形式ありますが、著しい性能上の欠 点があります。 -h, --human-numeric-sort, --sort=human-numeric 数値によってソートしますが、存在するなら、SI 接尾辞を考慮に入れま す。最初に数値の符号 (負、0 または正) によってソートします。次 に、SI 接尾辞 (空、または `k' または `K'、または `MGTPEZY' の 1 つ、その順序のいずれか) によってソートします。そして、最後に数値 によってソートします。SI 接尾辞は、数値の直後に続かなければなりま せん。例えば、M は、K より "大きい" ので、'12345K' は、'1M' の前 にソートします。このソートオプションは、(人間に読み込み可能な) -h または -H オプションで 'df' コマンドの単一の起動の出力をソートす るために役に立ちます。 -i, --ignore-nonprinting すべての非印刷可能文字を無視します。 -M, --month-sort, --sort=month 英語の月の名前の略語によってソートします。未知の文字列は、月の名 前より小さいと見なされます。 -n, --numeric-sort, --sort=numeric 算術演算の値によって数値的なフィールドをソートします。フィールド は、最初に省略可能な空白、省略可能なマイナス記号、(小数点とあり得 る 1000 毎の分離記号を含んで) 0 以上の数値があることになっていま す。 -R, --random-sort, --sort=random ランダムな順序でソートします。これは、等しいキーがともにソートす ることを除いて、入力のランダムな置換です。それは、入力キーをハッ シュして、ハッシュ値をソートすることによって実装されています。 ハッシュ関数は、ランダムに選択されます。ハッシュ関数は、 /dev/random の内容、または --random-source によって指定されるな ら、ファイル内容によってランダム化されます。たとえ複数のソート フィールドが指定されたとしても、同じランダムハッシュ関数は、それ らのすべてに対して使用されます。 -r, --reverse 逆の順序でソートします。 -V, --version-sort ソートのバージョン番号。入力行は、形式 PREFIX VERSION SUFFIX の ファイル名として扱われます、ここで、SUFFIX は、正規表現 "(.([A Za-z~][A-Za-z0-9~]*)?)*" とマッチします。ファイルは、それらの接頭 辞とバージョン (先導する 0 は、バージョン番号で無視されます、下記 の使用例を参照してください) によって比較されます。入力文字列がパ ターンにマッチしないなら、それは、バイト比較関数を使用して比較さ れます。すべての文字列の比較は、C ロケールで実行されます、ロケー ル環境設定は、無視されます。 使用例: $ ls sort* | sort -V sort-1.022.tgz sort-1.23.tgz sort-1.23.1.tgz sort-1.024.tgz sort-1.024.003. sort-1.024.003.tgz sort-1.024.07.tgz sort-1.024.009.tgz これらのオプションを使用してフィールド分離記号の処理を変更することができ ます: -b, --ignore-leading-blanks 制限されたソートキーの開始と終りを決定するとき、先導する空白を無 視します (-k を参照)。最初の -k オプションの前に -b が指定される なら、すべてのキーの指定に全体的に適用します。そうでなければ、 キーの指定の各 field 引数に独立に -b をアタッチすることができま す。 -k field1[,field2], --key=field1[,field2] キーフィールドの開始位置 field1 と省略可能な終了位置 field2 があ る制限されたソートキーを定義します。-k オプションは、複数回指定で きます、その場合に、前のキーが等しいとき、後のキーが比較されま す。-k オプションは、古いオプション +pos1 と -pos2 を置き換えます が、古い表記法もサポートされています。 -t char, --field-separator=char フィールド分離記号文字として char を使用します。最初の char は、 キーオフセットを決定するとき、フィールドの一部であると見なされま せん。char のそれぞれの発生は、重要です (例えば、``charchar'' は、空のフィールドを区切ります)。-t が指定されないなら、デフォル トのフィールド分離記号は、空白類文字のシーケンスで、連続する空白 類は、空のフィールドを区切りません、しかしながら、最初の空白類 は、キーのオフセットを決定するとき、フィールドの一部と見なされま す。フィールド分離記号として NUL (ヌル文字) を使用するためには、 -t '\0' を使用します。 -z, --zero-terminated レコード分離記号として NUL (ヌル文字) を使用します。デフォルト で、ファイル中のレコードは、改行文字によって分離されることになっ ています。このオプションで、NUL ('\0') は、レコード分離記号文字と して使用されます。 他のオプションは、次の通りです: --batch-size=num sort によって同時にオープンすることができるファイルの最大数を指定 します。このオプションは、多くの入力ファイルがあるか、または一時 ファイルを使用するとき、振る舞いに影響します。デフォルト値は、16 です。 --compress-program=PROGRAM 一時ファイルを圧縮するために PROGRAM を使用します。PROGRAM は、引 数なしで呼び出されるとき、標準入力を標準出力に圧縮しなければなり ません。引数 -d を付けて呼び出されるとき、標準入力を標準出力に圧 縮復元しなければなりません。PROGRAM が失敗するなら、sort は、エ ラーで終了しなければなりません。ここで使用することができる PRO GRAM の 1 つの例は、bzip2 です。 --random-source=filename ランダムソートでは、ファイル内容は、ハッシュ関数の選択のために ' シード' (種) データのソースとしてに使用されます。同じシードデータ があるランダムソートの 2 つの呼び出しは、同じハッシュ関数を使用 し、また、入力が同一であるなら、同じ結果を生成します。デフォルト で、ファイル /dev/random が使用されます。 --debug 標準出力にソートするプロセスに関するある特別の情報を印刷します。 --files0-from=filename ファイル filename から入力ファイルリストを取ります。ファイル名 は、(コマンド "find ... -print0" によって生成された出力のような) NUL (ヌル文字) によって分離されなければなりません。 --radixsort ソート仕様書が許可するなら、ラディクス (radix) ソートを使用しよう とします。ラディクスソートは、普通のロケール (C と POSIX) のため だけに使用することができ、それは、数値または月のソートのために使 用することができません。ラディクスソートは、非常に速く安定してい ます。 --mergesort マージソートを使用します。これは、常に使用することができる一般的 なアルゴリズムですが、必ずしも最も速いとは限りません。 --qsort ソート仕様書が許可するなら、クイックソートを使用しようとします。 このソートアルゴリズムは、-u と -s とともに使用することができませ ん。 --heapsort ソート仕様書が許可するなら、ヒープ (heap) ソートを使用しようとし ます。このソートアルゴリズムは、-u と -s とともに使用することがで きません。 --mmap ファイルメモリマッピングのシステム呼び出しを使用することを試みま す。ある場合には、速度を増加させるかもしれません。 次のオペランドが利用可能です: file ソートされるか、マージされるか、またはチェックされるファイルのパ ス名。file オペランドが指定されないなら、または file オペランドが - であるなら、標準入力が使用されます。 フィールドは、フィールド分離記号とレコード分離記号 (デフォルトで改行) 以 外の文字の最大のシーケンスとして定義されます。最初の空白類は、-b が指定さ れていないなら、フィールドに含まれます。フィールド分離記号として振る舞 う、空白類のシーケンスの最初の空白類は、(-t が指定されなければ) 含まれま す。例えば、行の始まりのすべての空白類は、最初のフィールドの一部であると 見なされます。 フィールドは、-k field1[,field2] コマンド行オプションによって指定されま す。field2 がないなら、キーの終りは、行の終りをデフォルトとします。 引数 field1 と field2 には、形式 m.n (m,n > 0) があり、上記で論じされたオ プションに対応する、修飾子 b, d, f, i, n, g, M と r の 1 つ以上を続けるこ とができます。b が指定されるとき、修飾子の残りが field1 または field2 ま たは両方でのみ指定されるなら、すべてのキーフィールドにかかわらずそれらが 適用する間に指定されるところで、field1 または field2 でのみ適応します。 m.n によって指定された field1 の位置は、m 番目のフィールドの始めから n 番 目の文字として解釈されます。field1 の .n がないことは、m 番目のフィールド の最初の文字を示す、`.1' を意味します。-b オプションが有効であるなら、n は、m 番目のフィールドの最初の非空白文字から数えられます。m.1b は、m 番目 のフィールドの最初の非空白文字を参照します。1.n は、行の始めから n 番目の 文字を参照します。n が行の長さより大きいなら、フィールドは、空となるよう に取られます。 n 番目の位置は、たとえフィールドが指定された位置の数より短くても、フィー ルドの始めから常に数えられます。したがって、キーは、実際に後のフィールド の位置から開始することができます。 m.n によって指定された field2 位置は、m 番目のフィールドの始めから (分離 記号をを含む) nth 番目の文字として解釈されます。.n がなければ、m 番目の フィールドの最後の文字を示します。m = 0 は、行の終りを指定します。した がって、オプション -k v.x,w.y は、古いオプション +v-1.x-1 -w-1.y と同義語 です。y が省略されたとき、-k v.x,w は、+v-1.x-1 -w.0 と同義語です。古い +pos1 -pos2 オプションは、-k 同等物がない -w.0b を除いて、まだサポートさ れています。 環境変数 LC_COLLATE レコードのソートのための照合を決定するために使用されるロケー ル設定。 LC_CTYPE 文字の大文字小文字変換と分類のために使用されるロケール設定、 すなわち、その文字は、空白類その他と見なされます。 LC_MESSAGES sort が印刷する、出力メッセージの言語を決定するロケール設定。 LC_NUMERIC 数値ソートで使用される数値の書式を決定するロケール設定。 LC_TIME 月のソートで使用される月の書式を決定するロケール設定。 LC_ALL 上記のロケール設定のすべてを上書きするロケール設定。すべての これらの設定を一度に同じ値に設定するために、この環境変数を使 用することができます。 LANG それぞれの環境変数も LC_ALL も設定されていないなら、異なる種 類のロケール特有の振る舞いを決定するための最後の手段として使 用されます。 NLSPATH NLS カタログへのパス。 TMPDIR 一時ファイルが格納されるディレクトリへのパス。TMPDIR が -T オ プションによって上書きされることに注意してください。 GNUSORT_NUMERIC_COMPATIBILITY 定義されるなら、-t は、ロケール数字記号、すなわち、1000 の分 離記号と 10 進数の分離記号、を上書きしません。デフォルトで、 1000 の分離記号または小数点と同じシンボルで -t を指定するな ら、シンボルは、フィールド分離記号として扱われます。古い振る 舞いは、それほど明確ではありませんでした。シンボルは、フィー ルド分離記号と数値分離記号の両方として同時に扱われていまし た。この環境変数は、古い振る舞いを有効にします。 関連ファイル /var/tmp/.bsdsort.PID.* 一時ファイル。 /dev/random ランダムソートのためのデフォルトのシー ド (種) ファイル。 終了ステータス sort ユーティリティは、次の値のうちの 1 つで終了します: 0 入力ファイルのソートが成功したか、または -c または -C とともに使用 されるなら、入力ファイルは、既にソートする基準を満たしていました。 1 -c または -C オプションでソートされていない (または、一意性なし)。 2 エラーが生じました。 関連項目 comm(1), join(1), uniq(1) 規格 sort ユーティリティは、IEEE Std 1003.1-2008 (``POSIX.1'') 仕様に準拠して います。 フラグ [-ghRMSsTVz] は、POSIX 仕様の拡張です。 すべての長いオプションは、仕様に対する拡張で、それらのいくつかは、GNU バージョンとの互換性のために提供され、それらのいくつかは、自分自身の拡張 です。 古いキーの記法 +pos1 と -pos2 は、sort の古いバージョンに由来し、まだサ ポートされていますが、それらの使用は、まったく推奨されません。 歴史 sort コマンドは、Version 3 AT&T UNIX ではじめて登場しました。 作者 Gabor Kovesdan <gabor@FreeBSD.org>, Oleg Moskalenko <mom040267@gmail.com> 注 sort の、この実装には、(利用可能なメモリによって課されるもの以外の) 入力 行の長さ、または行の内で許可されたバイトでどんな制限もありません。 その性能は、ロケール設定、ソートキーの効率的な選択とキーの複雑さに高度に 依存します。最も速いソートは、オプション -s とともに全体の行でロケール C があることです。一般的に、ロケール C は、最も速く、次に単一のバイトのロ ケールが続き、そして最も遅いものとしてのマルチバイトのロケールですが、正 確な照合順序は、常に尊重されます。キーの仕様に関しては、行を処理するため により単純に、より速い検索は。訳注: 原文がおかしいので正確に翻訳できませ ん。 算術演算の値によってソートするとき、-n を使用することは、-g より性能がよ くなるので、可能な場合はいつでも、その使用が、推奨されます。 FreeBSD 11.2 March 19, 2015 FreeBSD 11.2