BTREEOP(1)

名称
btreeop - btree データベースメンテナンスツール

書式
btreeop [-A] [-C] [-D[keyno] key] [-K[keyno] key] [-L] [-k prefix] [dbname]

解説
btreeop は、 btree(3) データベースに対して単純な操作を行います。 btreeop は、データベースを作成したり、レコードを記入したり、(シーケンシャルや インデックスで)レコードを読み出したり、レコードを削除したりすることができます。 重複したエントリを持つこともできます。 複数のキーが利用可能ですが、 btree(3) のインデックスとしてはプライマリキーだけが利用されます。

オプション
大文字はコマンドを示します。コマンドが指定されなかった場合は、 シーケンシャルな読み出しであると想定します。

-A  レコードを追加します。データベースが存在しない場合、 btreeop はそれを作成します。

-C  データベースを作成し、レコードを記入します。

-D[keyno] key
    key を用いてレコードを削除します。 デフォルトでは、 keyno は0(すなわちプライマリキー)です。

-K[keyno] key
    key を用いてレコードを検索します。 デフォルトでは、 keyno は0(すなわちプライマリキー)です。

-L  全てのプライマリキーを表示します。 以下の二つのコマンド行は、後者がはるかに速いことを除いて等価です。 btreeop | awk '{print $1}' | uniq btreeop -L

-k prefix
    プライマリキーとして prefix を持つレコードを検索します。 このオプションは (-L コマンドもしくはコマンドが与えられていない場合の ように) シーケンシャルに読み込む操作に対してだけ有効です。 以下の二つのコマンド行は、後者がはるかに速いことを除いて等価です。 btreeop | awk '$1 ~ /^fo/ {print }' btreeop -k fo

dbname
    データベース名を指定します。デフォルトは 'btree' です。

データフォーマット
データベースを作成する (あるいは追加する) 際、 btreeop はデータを標準入力から読み込みます。 データのフォーマットは以下のようになります。 プライマリキー 2番目のキー-1 2番目のキー-2 Data (keyno = 0) (keyno = 1) (keyno = 2) -------------------------------------------------------------- main 246 main.c main (){\n func 120 library.c func(a1, a2)\n . . .

1.  全ての key とデータはブランク('\t' あるいは ' ') で区切られます。

2.  key にブランクを含めることはできません。

3.  データにはブランクを含めることができます。

4.  空のデータは許されません。

5.  加えて、META レコードが利用できます。META レコードはブランクで始まる key を 持ちます。このレコードは、インデックス検索 (-K オプション) だけで読むことが できます。使用方法は btreeop によっては制限されません。

使用例
データベースの作成 % btreeop -C key1 data1 key2 data2 key3 data3 ^D % レコードの追加 % btreeop -A __.VERSION 2 key2 data2-2 ^D % シーケンシャルな読み出し % btreeop key1 data1 key2 data2-2 key2 data2 key3 data3 % インデックスによる読み出し % btreeop -K key2 key2 data2-2 key2 data2 % btreeop -K ' __.VERSION' __.VERSION 2 % プライマリキーの一覧 % btreeop -L key1 key2 key3 % レコードの削除 % btreeop -D ' __.VERSION' % btreeop -K ' __.VERSION' %

関連ファイル
btree
    デフォルトのデータベース名

診断
btreeop は、エラーが発生した場合、 0 以外の値で終了します。 その他の場合は、0 で終了します。

関連項目
btree(3)

作者
Shigio Yamaguchi (shigio@wafu.netgate.net)

歴史
btreeop コマンドは、FreeBSD 2.2.2 から登場しました。