スポンサーリンク

STRFILE(8) FreeBSD システム管理者マニュアル STRFILE(8)

名称

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 から登場しました。

FreeBSD 10.0 June 9, 1993 FreeBSD 10.0

スポンサーリンク