mu/man/mu-cfind.1.org

3.8 KiB
Raw Blame History

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 [common-options] 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 uses a cache with the e-mail information, which is populated during the indexing process.

The regular expressions are Perl-compatible (as per the PCRE-library used by GRegex).

CFIND 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 [1]

[1] CSV is not fully 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,-p 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 to mu init.

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 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.

EXIT CODE

This command returns 0 upon successful completion, or a non-zero exit code otherwise: 1 for a generals error and 2 for 'no matches'.

SEE ALSO

mu(1), mu-index(1), mu-find(1)