Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all
名称
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; /* 区切り文字 */ 全てのフィールドはネットワークバイトオーダで書かれます。 unstr は strfile で行なったことを元に戻すためのものです。 source_file 中に含まれる文字列を source_file.dat ファイルのヘッダにリストされた順で標準出力に表示します。 -o を使って strfile を実行した後、 unstr を使ってそれをテーブルの順にダンプすることによって、 入力ファイルのソー トされたバージョンを作成することが可能です。
関連項目
byteorder(3), fortune(6)
関連ファイル
strfile.dat デフォルトの出力ファイル。
歴史
strfile ユーティリティは 4.4BSD から登場しました。