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