SCAN(1) [mh.6] SCAN(1)
NAME
scan - produce a one line per message scan listing
SYNOPSIS
scan [+folder] [msgs] [-clear] [-noclear] [-form format-
file] [-format string] [-header] [-noheader]
[-width columns] [-help]
DESCRIPTION
Scan produces a one-line-per-message listing of the speci-
fied messages. Each scan line contains the message number
(name), the date, the From: field, the Subject field, and,
if room allows, some of the body of the message. For
example:
15+ 7/ 5 Dcrocker nned Last week I asked some of
16 - 7/ 5 dcrocker message id format I recommend
18 7/ 6 Obrien Re: Exit status from mkdir
19 7/ 7 Obrien scan listing format in MH
The `+' on message 15 indicates that it is the current
message. The `-' on message 16 indicates that it has been
replied to, as indicated by a Replied: component produced
by an `-annotate' switch to the repl command.
If there is sufficient room left on the scan line after
the subject, the line will be filled with text from the
body, preceded by <<, and terminated by >> if the body is
sufficiently short. Scan actually reads each of the spec-
ified messages and parses them to extract the desired
fields. During parsing, appropriate error messages will
be produced if there are format errors in any of the mes-
sages.
The `-header' switch produces a header line prior to the
scan listing. Currently, the name of the folder and the
current date and time are output (see the HISTORY section
for more information).
If the `-clear' switch is used and scan's output is
directed to a terminal, then scan will consult the $TERM
and $TERMCAP envariables to determine your terminal type
in order to find out how to clear the screen prior to
exiting. If the `-clear' switch is used and scan's output
is not directed to a terminal (e.g., a pipe or a file),
then scan will send a formfeed prior to exiting.
For example, the command:
(scan -clear -header; show all -show pr -f) | lpr
produces a scan listing of the current folder, followed by
a formfeed, followed by a formatted listing of all mes-
sages in the folder, one per page. Omitting `-show pr -f'
MH April 22, 1986 1
SCAN(1) [mh.6] SCAN(1)
will cause the messages to be concatenated, separated by a
one-line header and two blank lines.
If scan encounters a message without a Date: field, rather
than leaving that portion of the scan listing blank, the
date is filled-in with the last write date of the message,
and post-fixed with a `*'. This is particularly handy for
scanning a draft folder, as message drafts usually aren't
allowed to have dates in them.
To override the output format used by scan, the
`-format string' or `-format file' switches are used.
This permits individual fields of the scan listing to be
extracted with ease. The string is simply a format string
and the file is simply a format file. See mh-format (5)
for the details.
In addition to the standard escapes, scan also recognizes
the following additional escape:
escape substitution
body the (compressed) first part of the body
On hosts where MH was configured with the BERK option,
scan has two other switches: `-reverse', and `-noreverse'.
These make scan list the messages in reverse order. In
addition, scan will update the MH context prior to start-
ing the listing, so interrupting a long scan listing pre-
serves the new context. MH purists hate both of these
ideas.
FILES
$HOME/.mh_profile The user profile
PROFILE COMPONENTS
Path: To determine the user's MH directory
Alternate-Mailboxes: To determine the user's mailboxes
Current-Folder: To find the default current folder
SEE ALSO
inc(1), pick(1), show(1), mh-format(5)
DEFAULTS
`+folder' defaults to the folder current
`msgs' defaults to all
`-format' defaulted as described above
`-noheader'
`-width' defaulted to the width of the terminal
CONTEXT
If a folder is given, it will become the current folder.
HISTORY
Prior to using the format string mechanism, `-header' used
to generate a heading saying what each column in the
MH April 22, 1986 2
SCAN(1) [mh.6] SCAN(1)
listing was. Format strings prevent this from happening.
BUGS
The argument to the `-format' switch must be interpreted
as a single token by the shell that invokes scan. There-
fore, one must usually place the argument to this switch
inside double-quotes.
MH April 22, 1986 3