Manpages

名 称

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