DESCRIPTION
 db allows manipulation of 
btree(3) and 
hash(3) (
db(3)) databases.
db has three modes of operation to perform upon dbfile:
- 
read
 
- 
Displays the given keys, and keys described in infile. If no keys and no infile is specified, the entire database is displayed. This is the default mode of operation.
 
- 
delete
 
- 
Enabled with -d. Deletes the given keys, and keys described in infile.
 
- 
write
 
- 
Enabled with -w. Writes the given keys and values, and keys and values described in infile (in the latter case, entries are separated by insep).
 
There are two mandatory arguments: type is the database type; either ‘btree' or ‘hash', and dbfile is the database file to manipulate.
Options valid for all modes are:
- 
-E endian
 
- 
Set the endianness of the database. endian may be one of:
- 
B
 
- 
Big endian
 
- 
H
 
- 
Host endian
 
- 
L
 
- 
Little endian
 
Defaults to ‘H' (host endian). 
- 
-f infile
 
- 
Contains a list of keys (for read and delete), or insep separated keys and values (for write) to be used as arguments to the given mode. If infile is ‘-', stdin is used.
 
- 
-i
 
- 
Keys are converted to lower case before manipulation.
 
- 
-N
 
- 
Do not include the NUL byte at the end of the key or value.
 
- 
-q
 
- 
Quiet operation. In read mode, missing keys are not considered to be an error. In delete (-d) and write (-w) modes, the result of various operations is suppressed.
 
- 
-T visspec
 
- 
Control how the items specified by the -S option are encoded and -U option are decoded. The visspec option-argument is a string specifying strsvisx(3) flags. The string consists of one or more characters:
- 
b
 
- 
VIS_NOSLASH
 
- 
c
 
- 
VIS_CSTYLE. Overrides h and o.
 
- 
h
 
- 
VIS_HTTPSTYLE. Overrides c and o.
 
- 
o
 
- 
VIS_OCTAL. Overrides c and h.
 
- 
s
 
- 
VIS_SAFE
 
- 
t
 
- 
VIS_TAB
 
- 
w
 
- 
VIS_WHITE
 
-U only supports -T h.
See vis(1)'s corresponding options for the meaning of these characters, and strsvisx(3) for more detail on the flags.
 
- 
-U unvisitem
 
- 
Specify items to strunvisx(3) decode. The unvisitem option-argument is a character specifying if the key (k), the value (v) or both (b) should be decoded.
 
Read mode specific options are:
- 
-D
 
- 
Display duplicate entries in btree databases.
 
- 
-K
 
- 
Display key.
 
- 
-O outsep
 
- 
Field separator string between key and value. Defaults to a single tab (‘\t').
 
- 
-S visitem
 
- 
Specify items to strsvisx(3) encode. The visitem option-argument is a character specifying if the key (k), the value (v) or both (b) should be encoded.
 
- 
-V
 
- 
Display value.
 
- 
-X extravis
 
- 
When encoding items with -S option also encode characters in extravis, per strsvisx(3).
 
(If neither of -K or -V is given, both options are enabled.)
Write mode specific options are:
- 
-C
 
- 
Create new database, and truncate existing databases.
 
- 
-D
 
- 
Allow duplicate entries in btree databases. (Requires -R to be useful.)
 
- 
-F insep
 
- 
Input field separator string between key and value used when parsing infile. Defaults to a single space (‘ ').
 
- 
-m mode
 
- 
Octal mode of created database. Defaults to ‘0644'.
 
- 
-P pagesize
 
- 
Set the page size of the table to pagesize bytes. If set to ‘0', a database-specific default is determined, based on the block-size of the underlying file-system. Defaults to ‘4096'.
 
- 
-R
 
- 
Overwrite existing entries. If not specified, writing to an existing entry raises an error.