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.