'\" te .\" Copyright 1989 AT&T .\" Poertions Copyright (c) 2001, 2015, Oracle and/or its affiliates.All rights reserved. .\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation.In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html. This notice shall appear on any product containing this material. .TH sort 1 "2015 年 4 月 6 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 sort \- テキストファイルのソート、マージ、順序の確認 .SH 形式 .LP .nf \fB/usr/bin/sort\fR [\fB-bcCdfimMnru\fR] [\fB-k\fR \fIkeydef\fR] [\fB-o\fR \fIoutput\fR] [\fB-S\fR \fIkmem\fR] [\fB-t\fR \fIchar\fR] [\fB-T\fR \fIdirectory\fR] [+\fIpos1\fR [-\fIpos2\fR]] [\fIfile\fR]... .fi .LP .nf \fB/usr/xpg4/bin/sort\fR [\fB-bcCdfimMnru\fR] [\fB-k\fR \fIkeydef\fR] [\fB-o\fR \fIoutput\fR] [\fB-S\fR \fIkmem\fR] [\fB-t\fR \fIchar\fR] [\fB-T\fR \fIdirectory\fR] [\fB-y\fR [\fIkmem\fR]] [\fB-z\fR \fIrecsz\fR] [+\fIpos1\fR [-\fIpos2\fR]] [\fIfile\fR]... .fi .SH 機能説明 .sp .LP \fBsort\fR コマンドは、指定されたファイルのすべての行をソートし、その結果を標準出力に書き込みます。 .sp .LP 比較は、各入力行から抽出された 1 つまたは複数のソートキーに基づいて行われます 。デフォルトでは、1 つのソートキー、つまり入力行全体が使用されます。また、ソートの順は、現在のロケールの照合順序に従います。 .SH オプション .sp .LP 次にあげるオプションは、デフォルトの動作を変更します。 .SS "/usr/bin/sort" .sp .ne 2 .mk .na \fB\fB-c\fR\fR .ad .RS 6n .rt 引数で指定された入力ファイルが、現在のロケールの 照合順序に従ってソートされていることを確認します。出力が標準出力に送信されてはいけません。終了コードは、ソート済みではないことが検出されたかどうか、またはエラーが発生したかどうかを示す必要があります。ソート済みでないこと (または \fB-u\fR の場合は重複するキー) が検出された場合は、ソート済みでないことまたは重複するキーが検出された位置を示す警告メッセージが標準エラーに送信される必要があります。 .RE .SS "/usr/xpg4/bin/sort" .sp .ne 2 .mk .na \fB\fB-C\fR\fR .ad .RS 12n .rt \fB-c\fR と同じですが、ソート済みでないこと、または \fB-u\fR の場合は重複するキーが検出された場合は、警告メッセージが標準エラーに送信されてはいけません。 .RE .sp .ne 2 .mk .na \fB\fB-y\fR \fIkmem\fR\fR .ad .RS 12n .rt (廃止)。\fBsort\fR が最初に使用する主記憶量を指定するために使用されていました。このオプションは、仮想メモリーシステムには適していません。\fBsort\fR が使用するメモリー容量は、\fB-S\fR オプションで指定するようになりました。 .RE .sp .ne 2 .mk .na \fB\fB-z\fR \fIrecsz\fR\fR .ad .RS 12n .rt (廃止)。システム固有の デフォルトバッファサイズを超えるような行が存在した場合でも、異常終了を起こさないようにするためのオプションでした。現在では、最長の行が書き込める大きさのバッファを \fBsort\fR が自動的に割り当てるので、このオプションは意味がなくなりました。 .RE .SS "/usr/bin/sort and /usr/xpg4/bin/sort" .sp .ne 2 .mk .na \fB\fB-m\fR\fR .ad .RS 16n .rt マージのみを行います。入力ファイルはソート済みであるものとします。 .RE .sp .ne 2 .mk .na \fB\fB-o\fR \fIoutput\fR\fR .ad .RS 16n .rt 標準出力の代わりに使用される出力ファイル名を指定します。このファイルは入力ファイルの 1 つと同じでも構いません。 .RE .sp .ne 2 .mk .na \fB\fB-S\fR \fIkmem\fR\fR .ad .RS 16n .rt ソートを行うために使用するスワップメモリー容量の最大値を指定します (デフォルトの単位はキロバイト)。\fIkmem\fR には、バイト (b)、キロバイト (k)、メガバイト (m)、ギガバイト (g)、テラバイト (t)、の数値を直接指定したり、インストールされている物理メモリーに対する割合パーセント (%) で指定することができます。 .RE .sp .ne 2 .mk .na \fB\fB-T\fR \fIdirectory\fR\fR .ad .RS 16n .rt \fIdirectory\fR 引数は、一時ファイルを入れるディレクトリ名です。 .RE .sp .ne 2 .mk .na \fB\fB-u\fR\fR .ad .RS 16n .rt 同一行を削除します。 同じキーを持つ行の組から 1 行のみを取り出し、他を抑制します。\fB-c\fR オプションと同時に指定すると、入力ファイルがソート済みであることと、同じキーを持つ複数の行が存在しないことの両方を確認します。 .RE .SS "並べ換えオプション" .sp .LP デフォルトのソートの並び換え順は、\fBLC_COLLATE\fR の値に依存します。\fBLC_COLLATE\fR が \fBC\fR に設定された場合、\fBASCII\fR の並べ換え順でソートされます。\fBLC_COLLATE\fR が \fBen_US\fR に設定された場合、ある 2 つの文字列のうち、一方が他方よりも先に大文字を使用していて その他の点では一様である場合は 大文字/小文字を区別しますが、それ以外は大文字/小文字を区別しません。その他のロケールでは、別の並べ換え順でソートされます。 .sp .LP 次にあげるオプションは、デフォルトの並べ換え規則を変更します。ソートキーフィールド指定とは無関係に並べ換えオプションがある場合、要求された並べ換え規則は、すべてのソートキーに適用されます。指定された並べ換えオプションが特定のソートキーに付いている場合 (「ソートキーオプション」の説明を参照)、このオプションはそのキーに対するすべてのグローバルな並べ換えオプションを無効にします。\fB\fR旧式のキーオプションでは、\fI+pos1\fR オプションのあとに以下のオプションを 1 つ以上指定すると、その直前のオプションで指定されたキーフィールド に対してだけ有効になります。 .sp .ne 2 .mk .na \fB\fB-d\fR\fR .ad .RS 6n .rt 辞書編集順にします。 比較では、英字、数字およびスペース (スペースおよびタブ) だけが有効です。 .RE .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 6n .rt 小文字と大文字の区別をしません。 .RE .sp .ne 2 .mk .na \fB\fB-i\fR\fR .ad .RS 6n .rt 非印字文字を無視します。 .RE .sp .ne 2 .mk .na \fB\fB-M\fR\fR .ad .RS 6n .rt 月名とみなして比較します。フィールドの先頭 3 文字 (空白文字以外) は大文字に変換し、比較します。たとえば、英語ではソートの並び換え順は \fBJAN < FEB < . . .< DEC です。\fR月名でないフィールドは、\fB"JAN"\fR よりも低く見なされます。\fB-M\fR オプションは \fB-b\fR オプションの動作を含みます (下記を参照)。 .RE .sp .ne 2 .mk .na \fB\fB-n\fR\fR .ad .RS 6n .rt ソートキーを、省略可能な空白文字、省略可能なマイナス符号、省略可能な小数点および桁区切り文字 (現在のロケールに定義されているもの) を持つ 0 個以上の数値からなる最初の数値列に限定します。キーの値は算術的な数値としてソートされます。空の数値列は、ゼロとみなされます。先行するゼロおよびゼロに付けられた符号は、並べ換えに 影響を与えません。 .RE .sp .ne 2 .mk .na \fB\fB-r\fR\fR .ad .RS 6n .rt 比較の意味を反転します。 .RE .SS "フィールド区切り文字オプション" .sp .LP フィールド区切り文字オプションの扱い方は、以下のオプションを使って 変更できます。 .sp .ne 2 .mk .na \fB\fB-b\fR\fR .ad .RS 11n .rt 限定ソートキーの開始および終了位置の決定時に、先行する空白文字を無視します。最初のソートキーオプションの前に \fB-b\fR オプションが指定されている場合、このオプションはすべての ソートキーオプションに適用されます。それ以外の場合は、オプション引数の \fB-k\fR \fIfield_start\fR、\fIfield_end\fR、+\fIpos1\fR、-\fIpos2\fR の各々に \fB-b\fR オプションを個別に指定します (下記を参照) 。 .RE .sp .ne 2 .mk .na \fB\fB-t\fR \fIchar\fR\fR .ad .RS 11n .rt \fIchar\fR をフィールド区切り文字として使用します。\fIchar\fR は、(ソートキーに含まれることがあっても) フィールドの一部とは見なされません。\fIchar\fR は、繰り返し出てきてもそれぞれが有効です (たとえば、\fI\fR は空フィールドを区切ります) 。\fB-t\fR を指定しない場合、 デフォルトのフィールド区切り文字として空白文字が 用いられます。空白でない文字に続く、最大長の空白文字列が、フィールド区切り文字となります。 .RE .SS "ソートキーオプション" .sp .LP ソートキーは以下のオプションを使って指定できます。 .sp .ne 2 .mk .na \fB\fB-k\fR \fIkeydef\fR\fR .ad .RS 19n .rt \fIkeydef\fR 引数は、限定されたソートキーフィールドの定義です。この定義の形式は次のとおりです。 .sp .in +2 .nf \fB-k\fR \fIfield_start\fR [\fItype\fR] [\fB,\fR\fIfield_end\fR [\fItype\fR] ] .fi .in -2 .sp 各表記の意味は次のとおりです。 .sp .ne 2 .mk .na \fB\fIfield_start\fR と \fIfield_end\fR\fR .ad .sp .6 .RS 4n 行の一部分に限定したキーフィールドを定義します。 .RE .sp .ne 2 .mk .na \fB\fItype\fR\fR .ad .sp .6 .RS 4n 文字群 \fBbdfiMnr\fR から得られる修飾子です。\fBb\fR 修飾子は \fB-b\fR オプションと同じ働きですが、対象とした \fIfield_start\fR または \fIfield_end\fR だけに適用されます。フィールド内の文字は、フィールド内の最初の空白でない文字から 数えられます。なお、これは \fIfirst_character\fR と \fIlast_character\fR に個別に適用されます。その他の修飾子も、同じ文字で示すオプションと 同じ働きですが、対象としたキーフィールドにのみ適用されます。このように動作するのは、\fIfield_start\fR または \fIfield_end\fR のどちらか一方、あるいは両方が指定されているときです。\fIfield_start\fR と \fIfield_end\fR のいずれかに修飾子が付けられているとき、それらはオプションの対象とはなりません。 .RE 複数のキーフィールドがある場合、後にあるキーは、それ以前のキーが等しいと比較された場合にだけ 比較されます。\fB-u\fR オプションが指定された場合を除き、等しいと比較された行は、\fB-d\fR 、\fB-f\fR 、\fB-i\fR 、\fB-n\fR 、\fB-k\fR のいずれもが省略された場合と同じように並べ換えられます (\fB-r\fR オプションは、指定されていれば有効) 。また行の中の全バイトを用いて比較されます。 .sp 次の表記を見てください。 .sp .in +2 .nf \fB-k\fR \fIfield_start\fR[\fItype\fR][\fB,\fR\fIfield_end\fR[\fItype\fR]] .fi .in -2 .sp これは \fIfield_start\fR で始まり \fIfield_end\fR で終わるキーフィールドを定義するものです。ただし \fIfield_start\fR が行の限界を超えていたり、\fIfield_end\fR のあとに位置している場合には、キーフィールドは空となります。\fIfield_end\fR 指定を省略すると、行の終わりと見なされます。 .sp フィールドは、区切り文字でない最長の文字列で、\fB-t\fR オプションが指定されていなければ先行するフィールド区切り文字も含みます。 .sp \fIkeydef\fR オプション引数の \fIfield_start\fR 部分の形式は次のとおりです。 .sp .in +2 .nf \fIfield_number\fR[\fB\&.\fR\fIfirst_character\fR] .fi .in -2 .sp フィールド、およびフィールド内の文字には、1 から始まる番号が付けられます。\fIfield_number\fR と \fIfirst_character\fR 指定は、いずれも正の 10 進整数と解釈され、ソートキーの部分として用いられる先頭の文字を指定します。\fB\&.\fR\fIfirst_character\fR 指定を省略すると、フィールドの先頭文字が使用されます。 .sp \fIkeydef\fR オプション引数の \fIfield_end\fR 部分の形式は次のとおりです。 .sp .in +2 .nf \fIfield_number\fR[\fB\&.\fR\fIlast_character\fR] .fi .in -2 .sp このうち \fIfield_number\fR の意味は前述の \fIfield_start\fR のものと同じです。\fIlast_character\fR 指定は、負でない 10 進整数と解釈され、ソートキーの部分として用いられる 最後の文字を指定します。\fIlast_character\fR の値の評価結果がゼロのとき、または \fB\&.\fR\fIlast_character\fR 指定が省略されたときは、\fIfield_number\fR が示すフィールドの最終文字が使用されます。 .sp \fB-b\fR オプションまたは \fBb\fR 修飾子が有効なとき、フィールド中の文字はそのフィールドの 最初の空白でない文字から数えられます。なお、これは \fIfirst_character\fR と \fIlast_character\fR に個別に適用されます。 .RE .sp .ne 2 .mk .na \fB[\fB+\fR\fIpos1\fR [\fB-\fR\fIpos2\fR]]\fR .ad .RS 19n .rt (廃止)。\fB-k\fR\fIkeydef\fR オプションと同等な機能を提供します。 .sp \fIpos1\fR および \fIpos2\fR はそれぞれ \fIm\fR\fB\&.\fR\fIn\fR という形式をとり、オプションでフラグ \fBbdfiMnr\fR の中から 1 つまたは複数のフラグを後に付けることができます。\fB+\fR\fIm\fR\fB\&.\fR\fIn\fR によって指定される開始位置は、\fIm\fR+1 番目のフィールドにある \fIn\fR+1 番目の文字であると解釈されます。\fB\&.\fR\fIn\fR がない場合は、\fIm\fR+1 番目のフィールドの先頭文字を指す \fB\&.0\fR を意味します。\fBb\fR フラグが有効な場合、\fIm\fR+1 番目のフィールドの最初の空白文字以外の文字から \fIn\fR が数えられます。\fB+\fR\fIm\fR\fB\&.0b\fR は \fIm\fR+1 番目のフィールド内の最初の空白文字以外の文字を指します。 .sp \fB–\fR\fIm\fR\fB\&.\fR\fIn\fR によって指定される最終位置は、\fIm\fR 番目のフィールドの最後の文字から後へ \fIn\fR 番目の文字 (区切り文字も含む) を意味するように解釈されます。\fB\&.\fR\fIn\fR がない場合、\fIm\fR 番目のフィールドの最後の文字を指す \fB\&.\fR0 を意味します。\fBb\fR フラグが有効な場合、\fIm\fR+1 番目のフィールドの前についている最後の空白文字から \fIn\fR が数えられます。したがって、\fB–\fR\fIm\fR\fB\&.\fR1\fBb\fR は、\fIm\fR+1 番目のフィールド内の最初の空白文字以外の文字を指します。 .sp 次の記述は、\fI+pos1\fR \fI-pos2\fR の形式をタイプ修飾子 \fBT\fR と \fBU\fR とともに指定したものです。 .sp .in +2 .nf +\fBw\fR.\fBxT\fR -\fBy\fR.\fBzU\fR .fi .in -2 .sp 次と同等です。 .sp .in +2 .nf undefined (z==0 & U contains \fIb\fR & \fI-t\fR is present) -k w+1.x+1T,y.0U (z==0 otherwise) -k w+1.x+1T,y+1.zU (z > 0) .fi .in -2 .sp ソートキー (\fB-k\fR オプションおよび旧式の \fB+\fR\fIpos1\fR と \fB-\fR\fIpos2\fR\fB)\fR は少なくとも 9 個記述できます。複数個ある場合、コマンド行での順序が意味を持ちます。ソートキーを 1 つも指定しないと、行全体のデフォルトのソートキーが使用されます。 .RE .SH オペランド .sp .LP 次のオペランドを指定できます。 .sp .ne 2 .mk .na \fB\fIfile\fR\fR .ad .RS 8n .rt ソート、マージ、または確認するファイルのパス名。\fIfile\fR オペランドを 1 つも指定しない場合、または \fIfile\fR オペランドに \fB-\fR を指定した場合には、標準入力が用いられます。 .RE .SH 使用法 .sp .LP ファイルが 2G バイト (2^31 バイト) 以上ある場合の \fBsort\fR の動作については、\fBlargefile\fR(5) を参照してください。 .SH 使用例 .sp .LP 以下の例では、\fBsort\fR キーを指定する方法のうち推奨される方法と旧式の方法の両方を示します。これにより両形式の関係が理解しやすくなるはずです。 .LP \fB例 1 \fR第 2 フィールドをソートキーとしてソートする .sp .LP 第 2 フィールドをソートキーとして用いて、\fBinfile\fR の内容をソートします。 .sp .in +2 .nf example% \fBsort -k 2,2 infile\fR example% \fBsort +1 \(mi2 infile\fR .fi .in -2 .sp .LP \fB例 2 \fR逆の順序でソートする .sp .LP 第 2 フィールドの 2 番目の文字をソートキーとして、\fBinfile1\fR および \fBinfile2\fR の内容を逆の順序でソートし、\fBoutfile\fR に出力します。なお第 2 フィールドの先頭文字はフィールド区切り文字であると想定しています。 .sp .in +2 .nf example% \fBsort -r -o outfile -k 2.2,2.2 infile1 infile2\fR example% \fBsort -r -o outfile +1.1 \(mi1.2 infile1 infile2\fR .fi .in -2 .sp .LP \fB例 3 \fRファイル中の特定の 1 文字をキーとしてソートする .sp .LP 第 2 フィールドの 2 番目の空白でない文字をソートキーとして、\fBinfile1\fR と \fBinfile2\fR の内容をソートします。 .sp .in +2 .nf example% \fBsort -k 2.2b,2.2b infile1 infile2\fR example% \fBsort +1.1b \(mi1.2b infile1 infile2\fR .fi .in -2 .sp .LP \fB例 4 \fRユーザー ID でソートする .sp .LP ユーザー ID (コロンで区切った 3 番目のフィールド) でソートされたパスワードファイル \fBpasswd\fR(4) を出力します。 .sp .in +2 .nf example% \fBsort -t : -k 3,3n /etc/passwd\fR example% \fBsort -t : +2 \(mi3n /etc/passwd\fR .fi .in -2 .sp .LP \fB例 5 \fRフィールドが重複する行を除外してソートされた行を出力する .sp .LP ソート済みファイル \fBinfile\fR の行の出力において、同じ第 3 フィールドを持つ行のうち、最初に現われる行だけを出力します。 .sp .in +2 .nf example% \fBsort -um -k 3.1,3.0 infile\fR example% \fBsort -um +2.0 \(mi3.0 infile\fR .fi .in -2 .sp .LP \fB例 6 \fRホスト IP アドレスでソートする .sp .LP 次のコマンドは、どちらも数値形式の \fBIP\fR アドレス (先頭から 4 番目までの数値フィールド) でソートされた \fBhosts\fR(4) ファイル (IPv4 ホストデータベース) を出力します。 .sp .in +2 .nf example$ \fBsort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n /etc/hosts\fR example$ \fBsort -t . +0 -1n +1 -2n +2 -3n +3 -4n /etc/hosts\fR .fi .in -2 .sp .sp .LP \&'\fB\&.\fR' は、フィールドの区切り文字であると同時に、多くのロケールで 10 進数の区切り文字として使用されています。そのため、フィールドの末尾の指定に失敗すると、2 つめのフィールドが 1 つめのフィールドの小数部として認識されてしまうといった問題が発生します。 .SH 環境 .sp .LP \fBsort\fR の実行に影響を与える次の環境変数については、\fBenviron\fR(5) を参照してください。\fBLANG\fR、\fBLC_ALL\fR、\fBLC_COLLATE\fR、\fBLC_MESSAGES\fR、および \fBNLSPATH\fR。 .sp .ne 2 .mk .na \fB\fBLC_CTYPE\fR\fR .ad .RS 14n .rt テキストデータのバイト列を文字 (たとえば、引数や入力ファイル中のシングルバイト文字や複数バイト文字) として解釈するロケールや、\fB-b\fR 、\fB-d\fR 、\fB-f\fR 、\fB-i\fR 、\fB-n\fR の各オプション用に、文字分類の方法を指定する ロケールを定義します。 .RE .sp .ne 2 .mk .na \fB\fBLC_NUMERIC\fR\fR .ad .RS 14n .rt \fB-n\fR オプション用に、小数点や桁区切り文字を指定するロケールを定義します。 .RE .SH 終了ステータス .sp .LP 次の終了ステータスが返されます。 .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 7n .rt 入力ファイルはすべて正常に出力された、または \fB-c\fR が指定され入力ファイルは正しくソートされていた。 .RE .sp .ne 2 .mk .na \fB\fB1\fR\fR .ad .RS 7n .rt \fB-c\fR オプションが指定され入力ファイルは指定どおりにソートされていなかった、または \fB-c\fR と \fB-u\fR の両オプションが指定され 2 つの入力行のキーが等しかった。 .RE .sp .ne 2 .mk .na \fB\fB>1\fR \fR .ad .RS 7n .rt エラーが発生した。 .RE .SH ファイル .sp .ne 2 .mk .na \fB\fB/var/tmp/stm???\fR\fR .ad .RS 19n .rt 一時ファイル .RE .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .SS "/usr/bin/sort" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os _ CSI有効 .TE .SS "/usr/xpg4/bin/sort" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/xopen/xcu4 _ CSI有効 _ インタフェースの安定性確実 _ 標準T{ \fBstandards\fR(5) を参照してください。 T} .TE .SH 関連項目 .sp .LP \fBcomm\fR(1), \fBjoin\fR(1), \fBuniq\fR(1), \fBnl_langinfo\fR(3C), \fBstrftime\fR(3C), \fBhosts\fR(4), \fBpasswd\fR(4), \fBattributes\fR(5), \fBenviron\fR(5), \fBlargefile\fR(5), \fBstandards\fR(5) .SH 診断 .sp .LP さまざまなトラブル (たとえば、入力行が長すぎる) が発生した場合や \fB-c\fR オプションにおいてソート済みでないことを発見した場合、コメントを出力し、0 以外の終了ステータスで終了します。 .SH 注意事項 .sp .LP 入力ファイルの最終行に復帰改行文字 (NEWLINE) がない場合、\fBsort\fR はこれを追加し、警告メッセージを出力し、処理を継続します。\fB\fR .sp .LP \fBsort\fR で、等しいキーを持つ行の相対的な順序が保存されるという保証はありません。 .sp .LP \fB-S\fR オプションを使用して、特定の用途に \fBsort\fR の動作を調整することができます。ただし、\fBsort\fR は仮想メモリーシステムよりも、ソート時により適切に膨大な量のメモリーを利用できることに注意してください。このため、\fB-S\fR を使用して、膨大なメモリーを利用するようにしてソートを実行すると、パフォーマンスがかなり低くなることもあります。 .sp .LP 前述のように、フィールド修飾子の一部 (\fB-M\fR や \fB-d\fR など) は、入力データをロケール固有の設定と照合して解釈します。ロケール固有の設定を考慮に入れていないと、解釈の結果が予期しないものになることがあります。たとえば月の名前をキーにする場合、一般に通用する省略名を使用しても、\fBsort\fR コマンドはそれを正しい名前に読み換えることはしません。sort コマンドが認識する省略名は、\fBnl_langinfo\fR(3C) または \fBstrftime\fR(3C) で定義されているものだけです。表示可能順や辞書編集順でソートする場合、このような定義がロケールで適切に設定されていないと、空のソートキーが返されることがあります。結果として、次のキーが適切な並べ替えを決定する有効なキーになります。