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.