Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名称

     strfile, unstr — 文字列を格納するためのランダムアクセスファイルを作成する

書式

     strfile [-iorsx] [-c char] source_file [output_file] unstr source_file

解説

     strfile は 1 つのパーセント記号 ‘%’ を含む行で区切られる行グループを含むファイルを読み込み、
     ヘッダ構造と各々の行グループのファイルオフセットを含む データファイルを作成します。 このファ
     イルによって文字列のランダムアクセスが可能となります。

     出力ファイルは、それがコマンド行において指定されていない場合、 source_file.dat というファイ
     ル名になります。

     指定できるオプションとして、次のものがあります。

     -C       ファイルにコメントが含まれることを示すフラグです。 本オプションは、ヘッダの
              str_flags フィールドの STR_COMMENTS ビットをセットさせます。 コメントは、行頭の 2
              つの区切り文字で指示されますが、 strfile はコメント行に対して特別な処理を行いませ
              ん。

     -c char  区切り文字をパーセント記号から char に変更します。

     -i       文字列の並び換えを行なう際に、大文字・小文字を区別しません。

     -o       文字列をアルファベット順に並び換えます。 オフセットテーブルは参照される行グループの
              アルファベット順に ソートされます。 文字列の頭のアルファベットと数字以外の文字は無
              視されます。 このオプションを指定すると、ヘッダ中の str_flags フィールドの
              STR_ORDERED ビットがセットされます。

     -r       文字列へのアクセスをランダム化します。 オフセットテーブル中のエントリはランダムに並
              び換えられます。 このオプションを指定すると、ヘッダ中の str_flags フィールドの
              STR_RANDOM ビットがセットされます。

     -s       なにも表示せずに実行します。終了時にサマリのメッセージを表示しません。

     -x       行グループ中の各アルファベット文字を単純シーザー暗号 (simple caesar cypher) におけ
              る 13 ポジションだけローテートします。 このオプションを指定すると、ヘッダ中の
              str_flags フィールドの STR_ROTATED ビットがセットされます。

     ヘッダのフォーマットは以下のとおりです。

     #define VERSION 1
     unsigned long   str_version;    /* バージョン番号 */
     unsigned long   str_numstr;     /* ファイル中の文字列の数 */
     unsigned long   str_longlen;    /* 最長文字列の長さ */
     unsigned long   str_shortlen;   /* 最短文字列の長さ */
     #define STR_RANDOM      0x1     /* ランダムフラグの位置 */
     #define STR_ORDERED     0x2     /* 並び換えフラグの位置 */
     #define STR_ROTATED     0x4     /* rot-13されたテキスト */
     unsigned long   str_flags;      /* フラグビットフィールド */
     char str_delim;                 /* 区切り文字 */

     全てのフィールドはネットワークバイトオーダで書かれます。

     unstrstrfile で行なったことを元に戻すためのものです。 source_file 中に含まれる文字列を
     source_file.dat ファイルのヘッダにリストされた順で標準出力に表示します。 -o を使って strfile
     を実行した後、 unstr を使ってそれをテーブルの順にダンプすることによって、 入力ファイルのソー
     トされたバージョンを作成することが可能です。

関連項目

     byteorder(3), fortune(6)

関連ファイル

     strfile.dat  デフォルトの出力ファイル。

歴史

     strfile ユーティリティは 4.4BSD から登場しました。