Create Files with makemap
The makemap program, supplied in source form with V8 sendmail, is fully described in The makemap Program on page 370. It is used to create database files and is run, in brief, from the command line like this:
% makemap
type file < textfile
The type
can be either
dbm (which uses the
ndbm(3) library routines),
hash, or
btree (both of which use the
db(3) library routines). The
file
is the location
and name (full path or relative name) for the
database file to create. For
dbm files, the
.pag and
.dir suffixes are added
automatically. For db files,
the .db suffix will be added
automatically if it is not already included in the
name.
The makemap program reads from
its standard input. That input is line-oriented and
contains the text from which the database files will
be created. Lines that begin with a #
are interpreted as
comments and ignored. Lines that contain no
characters (empty lines) are also ignored.
Whitespace (spaces or tabs) separates the
key on the left from the
data on the right. An example
of such an input file is the following:
lady relaysite!lady my.host relaysite!lady bug bug.localuucp
The second line in this example shows that
keys can be multitokened
(my.host
is
three tokens). In reading from existing files, some
conversion might be required to massage the input
into a usable form. To make a database of the
/etc/hosts file (for
converting hostnames into IP addresses), for
example, a command line such as the following might
be required:[337]
% awk ...
Get sendmail, 4th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.