sort
入力を読み取り、データを並べ替え、結果を画面、ファイル、別のデバイスに書き込みます。
構文
sort [/r] [/+<N>] [/m <kilobytes>] [/l <locale>] [/rec <characters>] [[<drive1>:][<path1>]<filename1>] [/t [<drive2>:][<path2>]] [/o [<drive3>:][<path3>]<filename3>]
パラメーター
パラメーター | 説明 |
---|---|
/r | 並べ替え順序を反転します (つまり、Z から A に、9 から 0 に並べ替えます)。 |
/+<N> |
sort が各比較を開始する文字位置番号を指定します。 N には任意の有効な整数を指定できます。 |
/m <kilobytes> |
並べ替えに使用するメイン メモリの容量をキロバイト (KB) 単位で指定します。 |
/l <ロケール> | システムの既定のロケール (つまり、インストール中に選択された言語と国/地域) で定義されている文字の並べ替え順序をオーバーライドします。 |
/rec <characters> |
レコードまたは入力ファイルの行の最大文字数を指定します (既定値は 4,096、最大値は 65,535 です)。 |
[<drive1>:][<path1>]<filename1> |
並べ替えるファイルを指定します。 ファイル名が指定されていない場合は、標準入力が並べ替えられます。 入力ファイルの指定は、標準入力と同じファイルのリダイレクトより高速です。 |
/t [<drive2>:][<path2>] |
データがメイン メモリに収まらない場合に、sort コマンドの作業用ストレージを保持するディレクトリのパスを指定します。 既定では、システムの一時ディレクトリが使用されます。 |
/o [<drive3>:][<path3>]<filename3> |
並べ替えた入力を格納するファイルを指定します。 指定しない場合、データは標準出力に書き込まれます。 出力ファイルの指定は、標準出力を同じファイルにリダイレクトするよりも高速です。 |
/unique | 一意の結果のみを返します。 |
/? | コマンド プロンプトにヘルプを表示します。 |
解説
既定では、比較は各行の最初の文字から開始されます。 /+ コマンドライン オプションは、N で指定された文字から比較を開始します。たとえば、
/+3
は、それぞれの比較が各行の 3 番目の文字から始まることを示します。 N 文字未満の行は、他の行の前に照合されます。使用されるメモリは常に最低 160 KB です。 メモリ サイズを指定すると、使用可能なメイン メモリの容量に関係なく、指定された正確な容量が並べ替えに使用されます (160 KB 以上である必要があります)。
サイズが指定されていない場合の既定の最大メモリ サイズは、入力と出力の両方がファイルの場合は利用可能なメイン メモリの 90% であり、それ以外の場合はメイン メモリの 45% です。 通常は、既定の設定で最適なパフォーマンスが得られます。
現在、既定のロケールに代わる唯一のロケールは C ロケールであり、これは自然言語の並べ替え (バイナリ エンコードに従って文字を並べ替えます) よりも高速です。
パイプ記号 (
|
) を使用すると、別のコマンドから sort コマンドに入力データを転送したり、並べ替えられた出力を別のコマンドに転送したりできます。 リダイレクト記号 (<
または>
) を使用して、入力ファイルと出力ファイルを指定できます。 入力ファイルを (コマンド構文の filename1 での定義に従い) 直接指定し、続いて /o パラメーターを使用して出力ファイルを指定すると、速度と効率性が向上します (特に大きなファイルの場合)。sort コマンドでは、大文字と小文字が区別されず、ファイル サイズに制限はありません。
並べ替えプログラムでは、国/地域コードとコード ページ設定に対応する照合順序テーブルが使用されます。 ASCII コード 127 より大きい文字は、Country.sys ファイル内の情報、または Config.nt ファイルの country コマンドで指定された代替ファイル内の情報に基づいて並べ替えられます。
並べ替えが (既定の設定どおり、または /m パラメーターでの指定どおりに) 最大メモリ サイズに収まる場合、並べ替えは単一パスで実行されます。 それ以外の場合、並べ替えは 2 つの個別の並べ替えパスとマージ パスで実行され、両方のパスに使用されるメモリの容量は等しくなります。 2 つのパスが実行された場合、一部が並べ替えられたデータはディスク上の一時ファイルに格納されます。 2 つのパスで並べ替えを実行するのに十分なメモリがない場合は、実行時エラーが発行されます。 /m コマンド ライン オプションを使用して、実際に使用可能なメモリよりも多くのメモリを指定すると、パフォーマンスが低下したり実行時エラーが発生したりする可能性があります。
例
expenses.txt という名前のファイルで行を逆順に並べ替えて表示するには、次のように入力します。
sort /r expenses.txt
Jones のテキストに対して maillist.txt という名前の大きなファイルを検索し、パイプ (
|
) を使用して find コマンドの出力を sort コマンドに渡して検索の結果を並べ替えるには、次のように入力します。find Jones maillist.txt | sort
このコマンドでは、指定されたテキストを含む行を並べ替えた一覧が生成されます。
キーボード入力を並べ替え、結果をアルファベット順に画面に表示するには、まず次のように入力して、パラメーターを指定せずに sort コマンドを使用できます。
sort
次に、並べ替えるテキストを入力し、各行の末尾で Enter キーを押します。 テキストの入力が完了したら、Ctrl + Z キーを押し、Enter キーを押します。 sort コマンドでは、入力したテキストがアルファベット順に並べ替えて表示されます。