---
name: "btreeop"
section: "1"
platform: "linux"
package: "global"
version: "4.5-1.1"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/btreeop"
---

# btreeop(1)

btree database maintenance tool.

## NAME

btreeop - btree database maintenance tool.

## SYNOPSIS

**btreeop** \[-A\]\[-C\]\[-D\[n\] *key*\]\[-K\[n\] *key*\]\[-L\[2\]\]\[-k *prefix*\]\[*dbname*\]\

## DESCRIPTION

**Btreeop** execute simple operations for [**btree**(3)](/btree/3.md) database. **Btreeop** can create database, write record, read record (sequential or indexed) and delete record from it. Duplicate entries are allowed. Multi-key is available but only primary key can use index of [**btree**(3)](/btree/3.md).

## COMMANDS

A capital letter means a command. If no command specified then it assume sequential read operation. The following commands are available:

- none

  Read records sequentially.

- **-A**

  Append records. If database doesn't exist, btreeop creates it.

- **-C**

  Create database and write records to it.

- **-D**\[*n*\] *key*

  Delete records by the *key*. By default, *n* is 0 (primary key).

- **-K**\[*n*\] *key*

  Search records by the *key*. By default, *n* is 0 (primary key).

- **-L**\[*2*\]

  List all primary keys. If *2* is specified, list all the key and data pairs.

- *dbname*

  Database name. By default, it assume ´btree´.

## OPTIONS

- **-k** *prefix*

  Scan records which have the *prefix* as a primary key. This option is valid only with sequential read operation **-L** command or no command.

## FORMAT

```
To creat (or append) database, btreeop read data from stdin.
The format of the data is the following.
```

  Primary-key  Secondary-key-1  Secondary-key-2  Data\
   (keyno = 0)  (keyno = 1)      (keyno = 2)\
   \--------------------------------------------------------------\
   main         246              main.c           main () {\
   func         120              library.c        func(a1, a2)\
   .\
   .\
   .

o All key and data are separated by blank('\\t' or ' ').  o Key cannot include blank. o Data can include blank. o Null data not allowed.

Additionally, META record is available. META record has a key that start with a blank. You can read this record only by indexed read operation (-K option). Usage is unlimited by btreeop.

## EXAMPLES

```
Create database.
```

  % btreeop -C\
   key1  data1\
   key2  data2\
   key3  data3\
   ^D\
   %

Append records.

  % btreeop -A\
    \_\_.VERSION 2\
   key2  data2-2\
   ^D\
   %

Sequential read.

  % btreeop\
   key1  data1\
   key2  data2-2\
   key2  data2\
   key3  data3\
   %

Indexed read.

  % btreeop -K key2\
   key2  data2-2\
   key2  data2\
   % btreeop -K ' \_\_.VERSION'\
    \_\_.VERSION 2\
   %

List primary keys.

  % btreeop -L\
   key1\
   key2\
   key3\
   %

Delete record.

  % btreeop -D ' \_\_.VERSION'\
   % btreeop -K ' \_\_.VERSION'\
   %

## FILES

- ´btree´

  default database name.

## DIAGNOSTICS

**Btreeop** exits with a non 0 value if an error occurred, 0 otherwise.

## SEE ALSO

[**btree**(3)](/btree/3.md).

GNU GLOBAL source code tag system\
 (http://www.gnu.org/software/global/).

## AUTHOR

Shigio Yamaguchi

## HISTORY

The **btreeop** command appeared in FreeBSD 2.2.2.
