NAME
ftimes-dbm-make - Create or update a Berkeley database
SYNOPSIS
ftimes-dbm-make [-F separator] [-o option[,option[,...]]] -d db file [file ...]
DESCRIPTION
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.
OPTIONS
- -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.
CAVEATS
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.
AUTHOR
Klayton Monroe
SEE ALSO
ftimes-dbm-bash(1), ftimes-dbm-dump(1), ftimes-dbm-reap(1), ftimes-dbm-weed(1)
LICENSE
All documentation and code are distributed under same terms and conditions as FTimes.
|