This is mboxgrep.info, produced by makeinfo version 4.1 from
mboxgrep.texi.

INFO-DIR-SECTION Mail
START-INFO-DIR-ENTRY
* mboxgrep: (mboxgrep).		A mail folder scanning utility.
END-INFO-DIR-ENTRY


File: mboxgrep.info,  Node: Top,  Up: (dir)

   This file documents `mboxgrep', a mailbox scanning utility.

   Copyright (C) 2000, 2001, 2002, 2003 Daniel Spiljar

* Menu:

* Introduction::	A short preface.
* Invoking::		Command-line arguments.
* Examples::		A few examples of usage.
* Bugs::		What to do with bugs and similar vermin.

* To Vicky::            Author's dedication.


File: mboxgrep.info,  Node: Introduction,  Next: Invoking,  Up: Top

Introduction
************

   `mboxgrep' is a small, non-interactive utility that scans mail
folders for messages matching regular expressions.

   It supports basic and extended POSIX regular expressions.
`Perl'-style regular expressions are supported as well, if `mboxgrep'
is linked with PCRE library.

   Found messages can be either displayed on standard output, counted,
deleted, piped to a specified command, or copied to another mailbox.

   It can read and write a variety of folder formats:

   * mbox folders, either plain or compressed

   * MH folders

   * nnml and nnmh folders used by Gnus

   * `qmail'-style maildirs

   Additionally, it can read mbox folders or output from another
`mboxgrep' process from standard input.  It does so if a single dash
(-) is given as a file name.


File: mboxgrep.info,  Node: Invoking,  Next: Examples,  Prev: Introduction,  Up: Top

Command-Line Arguments
**********************

   The syntax of `mboxgrep' invocation is:

     mboxgrep [OPTIONS] PATTERN MAILBOX

* Menu:

* Miscellaneous::
* File locking::
* Regexp selection::
* Output control::
* Search scope selection::
* Mailbox type selection::


File: mboxgrep.info,  Node: Miscellaneous,  Next: File locking,  Up: Invoking

`--help'
`-h'
     Display a brief help screen and exit.

`--version'
`-V'
     Display program version and copyright information and exit.

`--recursive'
`-r'
     Descend into directories recursively.


File: mboxgrep.info,  Node: File locking,  Next: Regexp selection,  Prev: Miscellaneous,  Up: Invoking

   When accessing mbox folders, `mboxgrep' puts a shared lock on files
by default.  Note that mbox folders normally should not be accessed
without locking.

`--file-lock=METHOD'
`-l METHOD'
     Specify file locking METHOD.  `mboxgrep' supports `flock' and
     `fcntl' file locking.  However, one of these methods may be
     unimplemented on your operating system and thus not available in
     `mboxgrep' at run time.  To disable file locking, specify `none'.

`--no-file-lock'
`-nl'
     Do not attempt to lock mbox folder files.


File: mboxgrep.info,  Node: Regexp selection,  Next: Output control,  Prev: File locking,  Up: Invoking

`--extended-regexp'
`-E'
     PATTERN is an extended regular expression.

`--basic-regexp'
`-G'
     PATTERN is a basic regular expression.

`--perl-regexp'
`-P'
     PATTERN is a Perl regular expression.

`--regexp=PATTERN'
`-e PATTERN'
     Use PATTERN as a regular expression.

`--ignore-case'
`-i'
     Perform case-insensitive search.

`--invert-match'
`-v'
     Invert the sense of matching, i.e. select only non-matching
     messages.


File: mboxgrep.info,  Node: Output control,  Next: Search scope selection,  Prev: Regexp selection,  Up: Invoking

   By default, `mboxgrep' writes found messages to standard output.
The options below change such behavior.

`--count'
`-c'
     Suppress normal output and print the count of matching (or
     non-matching, if used with the `-v' option) messages.

`--delete'
`-d'
     Suppress normal output and delete selected messages.

     Use with extreme caution.

`--no-duplicates'
`-nd'
     Ignore duplicate messages.

`--output=FOLDER'
`-o FOLDER'
     Suppress normal output and write messages to destination folder
     FOLDER instead.

     Note that `mboxgrep' assumes the output folder is of the same
     format as the input folder.  Currently there is no possibility to
     convert folders.

`--pipe=COMMAND'
`-p COMMAND'
     Suppress normal output and pipe each selected message to a separate
     instance of COMMAND.

`--no-messages'
`-s'
     Suppress error messages.


File: mboxgrep.info,  Node: Search scope selection,  Next: Mailbox type selection,  Prev: Output control,  Up: Invoking

`--headers'
`-H'
     Match PATTERN against message headers.

`--body'
`-B'
     Match PATTERN against message body.


File: mboxgrep.info,  Node: Mailbox type selection,  Prev: Search scope selection,  Up: Invoking

`--mailbox-format=FORMAT'
`-m FORMAT'
     Specify mailbox FORMAT.  Supported formats are `mbox' (default),
     `zmbox' (compressed mbox), `mh', `nnml', `nnmh', and `maildir'.


File: mboxgrep.info,  Node: Examples,  Next: Bugs,  Prev: Invoking,  Up: Top

Examples
********

   Scan `$MAIL' for messages from Dirty Harry:

     mboxgrep -H '^From:.*callahan@homicide\.SFPD\.gov' $MAIL

   Re-mail to George messages that mention his name:

     mboxgrep --pipe="/usr/lib/sendmail george" --ignore-case george ~/Mail/*

   Display all messages in folder `~/Mail/incoming', except those that
appear to originate from AOL:

     mboxgrep -v -H '^Received:.*aol\.com' ~/Mail/incoming

   Do a case-insensitive scan of `~/Mail/incoming' for messages with
subject "Weekly News" and write them to folder `~/Mail/archive':

     mboxgrep -o ~/Mail/archive -H -i '^Subject: Weekly News' ~/Mail/incoming

   Count _all_ messages stored in folder `spam', ignoring duplicates:

     mboxgrep -nd -c . spam


File: mboxgrep.info,  Node: Bugs,  Next: To Vicky,  Prev: Examples,  Up: Top

Detecting Vermin
****************

   Shortly, if `mboxgrep' crashes and/or works differently than
described in this manual, you've found a bug.

   Please report bugs to <dspiljar@world.std.com>.  Instructions how to
reproduce the bug or output from a debugger would be highly
appreciated. Don't, however, send any coredumps.


File: mboxgrep.info,  Node: To Vicky,  Prev: Bugs,  Up: Top

Author's Dedication
*******************

   `Mboxgrep' is dedicated in loving memory of Vicky, my cat who died
of tumor on Sep 12, 2002.

   You haven't been long with us, but you gave us a lot of joy and all
your big heart that stopped ticking too early. I will never forget you.
Sleep well, little friend.



Tag Table:
Node: Top197
Node: Introduction582
Node: Invoking1453
Node: Miscellaneous1812
Node: File locking2097
Node: Regexp selection2738
Node: Output control3289
Node: Search scope selection4282
Node: Mailbox type selection4523
Node: Examples4801
Node: Bugs5620
Node: To Vicky6028

End Tag Table
