DragonFly On-Line Manual Pages
MU(CFIND) User Manuals MU(CFIND)
NAME
mu cfind is the mu command to find contacts in the mu database and
export them for use in other programs.
SYNOPSIS
mu cfind [options] [<pattern>]
DESCRIPTION
mu cfind is the mu command for finding contacts (name and e-mail
address of people who were either an e-mail's sender or receiver).
There are different output formats available, for importing the
contacts into other programs.
SEARCHING CONTACTS
When you index your messages (see mu index), mu creates a list of
unique e-mail addresses found and the accompanying name, and caches
this list. In case the same e-mail address is used with different
names, the most recent non-empty name is used.
mu cfind starts a search for contacts that match a regular expression.
For example:
$ mu cfind '@gmail.com'
would find all contacts with a gmail-address, while
$ mu cfind Mary
lists all contacts with Mary in either name or e-mail address.
If you do not specify a search expression, mu cfind returns the full
list of contacts. Note, mu cfind does not use the database, but uses a
cache file with e-mail addresses, which is populated during the
indexing process.
The regular expressions are Perl-compatible (as per the PCRE-library
used by GRegex).
OPTIONS
--format=plain|mutt-alias|mutt-ab|wl|org-contact|bbdb|csv
sets the output format to the given value. The following are
available:
| --format= | description |
|-------------+-----------------------------------|
| plain | default, simple list |
| mutt-alias | mutt alias-format |
| mutt-ab | mutt external address book format |
| wl | wanderlust addressbook format |
| org-contact | org-mode org-contact format |
| bbdb | BBDB format |
| csv | comma-separated values (*) |
(*) CSV is not really standardized, but mu cfind follows some
common practices: any double-quote is replaced by a double-
double quote (thus, "hello" become ""hello"", and fields with
commas are put in double-quotes. Normally, this should only
apply to name fields.
--personal only show addresses seen in messages where one of 'my'
e-mail addresses was seen in one of the address fields; this is
to exclude addresses only seen in mailing-list messages. See the
--my-address parameter in mu index.
--after=<timestamp> only show addresses last seen after
<timestamp>. <timestamp> is a UNIX time_t value, the number of
seconds since 1970-01-01 (in UTC).
From the command line, you can use the date command to get this
value. For example, only consider addresses last seen after
2009-06-01, you could specify
--after=`date +%s --date='2009-06-01'`
RETURN VALUE
mu cfind returns 0 upon successful completion -- that is, at least one
contact was found. Anything else leads to a non-zero return value:
| code | meaning |
|------+--------------------------------|
| 0 | ok |
| 1 | general error |
| 2 | no matches (for 'mu cfind') |
INTEGRATION WITH MUTT
You can use mu cfind as an external address book server for mutt. For
this to work, add the following to your muttrc:
set query_command = "mu cfind --format=mutt-ab '%s'"
Now, in mutt, you can easily search for e-mail addresses using the
query-command, which is (by default) accessible by pressing Q.
ENCODING
mu cfind output is encoded according to the current locale except for
--format=bbdb. This is hard-coded to UTF-8, and as such specified in
the output-file, so emacs/bbdb can handle things correctly, without
guessing.
BUGS
Please report bugs if you find them at
https://github.com/djcb/mu/issues.
AUTHOR
Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
SEE ALSO
mu(1) mu-index(1) mu-find(1) pcrepattern(3)
May 2013 1 MU(CFIND)