ftimes-dbm-make - Create or update a Berkeley database
ftimes-dbm-make [-F separator] [-o option[,option[,...]]] -d db file [file ...]
This utility reads one or more input files (see ftimes-dbm-reap(1))
and creates or updates the specified database. Databases are
implemented as BTrees and constructed using Perl's DB_File module.
Enumerating these databases yields the following format:
key|value
The primary rule of engagement is that imported key/value pairs trump
existing pairs in the database. This is true unless the pairs are
identical. In that case the existing pairs are not modified. If the
AlwaysInsert option is set, imported pairs always trump existing
pairs. Input files are processed in command-line order. Typically,
files that are sorted yield much faster load times.
- -d db
-
Specifies the name of the database to create or update.
- -F separator
-
Specifies the input field separator. Valid separators include the
following characters: tab '\t', space ' ', comma ',', colon ':',
semi-colon ';', equal sign '=', and pipe '|'. The default separator
is a pipe. Note that parse errors are likely to occur if the
specified separator appears in any of the field values.
- -o option,[option[,...]]
-
Specifies the list of options to apply. Currently the following
options are supported:
- AlwaysInsert
-
If a key already exists, its value is overwritten. This option
improves performance when the database is new or the ForceNew
option has been set. Enabling this option, however, disables update
tracking.
- BeQuiet
-
Don't report errors (i.e., be quiet) while processing files.
- ForceNew
-
Force the specified database to be truncated on open.
Databases created from the same input may yield different, but
equivalent, DBM files. Generally, DBM files are not portable across
different platforms and operating systems. Therefore, the recommended
method for exchanging or verifying a database is to dump it to a
delimited file (see ftimes-dbm-dump(1)) and operate on that instead.
Take care to avoid mixing databaes that are based on different field
types (i.e., keys). This can be easy to do if you're not careful.
Klayton Monroe
ftimes-dbm-bash(1), ftimes-dbm-dump(1), ftimes-dbm-reap(1), ftimes-dbm-weed(1)
All documentation and code are distributed under same terms and
conditions as FTimes.
|