NAME
db
-
manipulate
db(3)'s
btree(3)
and
hash(3)
databases
SYNOPSIS
db
[-DKiNqV]
[-E endian]
[-f infile]
[-O outsep]
[-S visitem]
[-T visspec]
[-U unvisitem]
[-X extravis]
type
dbfile
[key[ ...]]
db
-d
[-iNq]
[-E endian]
[-f infile]
[-T visspec]
[-U unvisitem]
type
dbfile
[key[ ...]]
db
-w
[-CDiNqR]
[-E endian]
[-F insep]
[-f infile]
[-m mode]
[-P pagesize]
[-T visspec]
[-U unvisitem]
type
dbfile
[key value[ ...]]
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.
SEE ALSO
vis(1),
btree(3),
db(3),
hash(3),
strsvisx(3),
strunvisx(3)
HISTORY
The
db
command appeared in
NetBSD2.0.
AUTHORS
Luke Mewburn
<lukem@NetBSD.org>.