next up previous contents
Next: Cabinetの部品 Up: シェルスクリプトによる簡単なデータベース Previous: 概要

データ形式

 

扱うデータはすべて unix や minix の標準的なテキストファイルです。 テキストファイルは人間も読めますが、ユーザが扱いやすいデータ形式と、 minix のツール類が扱いやすい形式は違います。 人間は極めて融通がききますから(考えようによってはいいかげんな)、 1つのデータが数行になろうが、コーヒーをこぼしたシミがあろうが、 必要な情報だけを簡単に拾い出すことができます。 一方、minix のツールの多くは1行を処理単位とする時が最も効率良く動作します。 どれほど高度な処理ができる人間でも文字がベタ書きされていたのではうんざり します。1つの文献を「著者」「標題」「出版社」「出版年」「ISBN」から なるデータの集合で表すとします。さて、あなたは(a)と(b)のどちらが扱い易いで しょうか。

(a)
Andrew S.Tanenbaum
OPERATING SYSTEMS DESIGN AND IMPLEMENTATION
Prentice-Hall
1987
0-13-637331-3

Andrew S.Tanenbaum
COMPUTER NETWORKS
Prentice-Hall
1981
0-13-165183-8


(b)
Alan Deikman:UNIX PROGRAMMING ON THE 80286 80386:M & T Publishing,
Alfred V.Aho, Brian W.Kernighan, Peter J.Weinberger:The AWK Progra
Allen I.Holub:COMPILER DESIGN IN C:Prentice-Hall:1990:0-13-155045-4
Andrew S.Tanenbaum:COMPUTER NETWORKS:Prentice-Hall:1981:0-13-165183
Andrew S.Tanenbaum:OPERATING SYSTEMS DESIGN AND IMPLEMENTATION:Pren

よほどのアマノジャクでない限り人間が扱い易いデータ形式は(a)の方だろうと 思います。一方、(b)は minix 上のコマンド群が扱いを得意としているものです。

そこで、1つの文献データの入力は(a)の形式で著者、表題、出版社、出版年、ISBN をそれぞれ1行に書き、5行で1つの文献として入力します。そして、それぞれの データは1行以上の空白行で区切ることとします。これを(b)のデータ形式に変換し て検索用のデータとして蓄えることにします。 このデータをスクリプトで検索し、目的のデータが見つかったならば再度(a)のよう な構成にして人間に提示すれば良いことになります。



Riichiro Saito
1995年08月29日(火) 11時41分26秒 JST