SCAN(1) [mh.6] (MH.6.8) SCAN(1)
NAME
scan - produce a one line per message scan listing
SYNOPSIS
scan [+folder] [msgs] [-clear] [-noclear] [-form formatfile]
[-format string] [-header] [-noheader] [-width columns]
[-reverse] [-noreverse] [-file filename] [-help]
DESCRIPTION
Scan produces a one-line-per-message listing of the
specified 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
specified 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 messages.
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 messages in
Page 1 (printed 9/30/94)
SCAN(1) [mh.6] (MH.6.8) SCAN(1)
the folder, one per page. Omitting `-show pr -f' 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 mh-format (5) escapes, scan also
recognizes the following additional component escapes:
Escape Returns Description
body string the (compressed) first part of the body
dtimenow date the current date
folder string the name of the current folder
Also, if no date header was present in the message, the
function escapes which operate on {date} will return values
for the date of last modification of the message file
itself.
scan will update the MH context prior to starting the
listing, so interrupting a long scan listing preserves the
new context. MH purists hate this idea.
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
Page 2 (printed 9/30/94)
SCAN(1) [mh.6] (MH.6.8) SCAN(1)
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 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. Therefore,
one must usually place the argument to this switch inside
double-quotes.
The value of each component escape is set by scan to the
contents of the first message header scan encounters with
the corresponding component name; any following headers with
the same component name are ignored.
The switch `-reverse', makes scan list the messages in
reverse order; this should be considered a bug.
The `-file filename' switch allows the user to obtain a scan
listing of a maildrop file as produced by packf. This
listing includes every message in the file. The user should
use msh for more selective processing of the file.
`-reverse' is ignored with this option.
Page 3 (printed 9/30/94)