SORT - データを行単位で並べ替える
《機能の説明》
テキストデータを、指定された桁位置を基準に、行単位で並べ替えて画面に出力します。
並べ替えは、文字コードをもとにして行われます。
リダイレクト符号(">")やパイプ("|")などを用いて、並べ替えた結果を他のプログラムに渡したり、テキストファイルとして保存することもできます。
関連するBBS過去ログ……FIND,FINDSTR,SORT…テキストファイル内文字列の操作
《スイッチ/パラメーター》
- /R
- 逆順(Z〜A、9〜0など)に分類します。
- /+n
- n の位置に、分類の対象とする文字(キー)の桁位置をバイト単位(半角単位)で指定します。
省略すると、行のはじめの位置(1桁目)がキーとなります。
- [ドライブ1:][パス1]ファイル名1
- 分類したいデータの入っているファイルの場所とファイル名を指定します。指定しなければ標準入力デバイスであるキーボードから読み取ります。
- [ドライブ2:][パス2]ファイル名2
- 分類された出力を保管するファイルの名前を指定します。指定しなければ標準出力デバイスであるディスプレイ画面に出力されます。
- コマンド1 [パラメータ...] |
- 分類したいデータを出力するコマンドとを指定します。DIR, TYPE, FIND, FCなど、データを標準出力デバイスに出力するタイプのプログラム/コマンドである必要があります。
《解説》
- ">"を使わず、結果をディスプレイに出力した場合、多数の行からなるデータは一度にスクロールしてしまってうまく読み取れない場合があります。
このような場合は"|" (パイプ)符号を使って、次のように結果をMOREコマンドを介して1画面単位で表示させると読みやすくなります。
- SORT /+8 <SAMPLE.TXT | MORE
- TYPE SAMPLE.TXT | SORT /+8 | MORE
- パイプ記号 ("|") を利用する場合、データ受け渡しのための一時ファイルがディスクドライブ上に作成されます。この一時ファイルの作成場所は、環境変数TEMPで指定しておくことができます。
典型的には、
……のようなコマンドによって、一時ファイルを作成する場所をAUTOEXEC.BATに記述しておきます。
- SORTは、大文字と小文字の区別をしません。
- SORTで扱えるファイルの容量は最大64Kバイトです。
- SORTを活用すると、たとえば次のようなことができます。ただし、個々の行のデータの形式が一致していることが条件となります。
- 用語リストを50音順に並べ替える。
- 住所録を、電話番号順や郵便番号順に並べ替える。
さらにFINDコマンドを併用すると、
- 行単位で作成した住所録データから電話番号欄の市外局番が"(03)"のものだけを抽出して、氏名の50音順に並べ替えて出力する。
……といった活用の仕方も可能です。
《関連コマンド》
DOSVCMD! SORT!