1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
| | ===============
notmuch-address
===============
SYNOPSIS
========
**notmuch** **address** [*option* ...] <*search-term*> ...
DESCRIPTION
===========
Search for messages matching the given search terms, and display the
addresses from them. Duplicate addresses are filtered out. Filtering
can be configured with the --filter-by option.
See **notmuch-search-terms(7)** for details of the supported syntax for
<search-terms>.
Supported options for **address** include
``--format=``\ (**json**\ \|\ **sexp**\ \|\ **text**\ \|\ **text0**)
Presents the results in either JSON, S-Expressions, newline
character separated plain-text (default), or null character
separated plain-text (compatible with **xargs(1)** -0 option
where available).
``--format-version=N``
Use the specified structured output format version. This is
intended for programs that invoke **notmuch(1)** internally. If
omitted, the latest supported version will be used.
``--output=(sender|recipients)``
Controls which information appears in the output. This option
can be given multiple times to combine different outputs.
Omitting this option is equivalent to
--output=sender --output=recipients.
**sender**
Output all addresses from the *From* header.
Note: Searching for **sender** should be much faster than
searching for **recipients**, because sender addresses are
cached directly in the database whereas other addresses
need to be fetched from message files.
**recipients**
Output all addresses from the *To*, *Cc* and *Bcc*
headers.
**count**
Print the count of how many times was the address
encountered during search.
Note: With this option, addresses are printed only after
the whole search is finished. This may take long time.
``--sort=``\ (**newest-first**\ \|\ **oldest-first**)
This option can be used to present results in either
chronological order (**oldest-first**) or reverse chronological
order (**newest-first**).
By default, results will be displayed in reverse chronological
order, (that is, the newest results will be displayed first).
``--exclude=(true|false|all|flag)``
A message is called "excluded" if it matches at least one tag in
search.tag\_exclude that does not appear explicitly in the
search terms. This option specifies whether to omit excluded
messages in the search process.
The default value, **true**, prevents excluded messages from
matching the search terms.
**all** additionally prevents excluded messages from appearing
in displayed results, in effect behaving as though the excluded
messages do not exist.
**false** allows excluded messages to match search terms and
appear in displayed results. Excluded messages are still marked
in the relevant outputs.
**flag** only has an effect when ``--output=summary``. The
output is almost identical to **false**, but the "match count"
is the number of matching non-excluded messages in the thread,
rather than the number of matching messages.
``--filter-by=``\ (**nameaddr**\ \|\ **name** \|\ **addr**\ \|\ **addrfold**\ \|\ **nameaddrfold**\)
Controls how to filter out duplicate addresses. The filtering
algorithm receives a sequence of email addresses and outputs
the same sequence without the addresses that are considered a
duplicate of a previously output address. What is considered a
duplicate depends on how the two addresses are compared:
**nameaddr** means that both name and address parts are
compared in case-sensitive manner. Therefore, all same looking
addresses strings are considered duplicate. This is the
default.
**name** means that only the name part is compared (in
case-sensitive manner). For example, the addresses "John Doe
<me@example.com>" and "John Doe <john@doe.name>" will be
considered duplicate.
**addr** means that only the address part is compared (in
case-sensitive manner). For example, the addresses "John Doe
<john@example.com>" and "Dr. John Doe <john@example.com>" will
be considered duplicate.
**addrfold** is like **addr**, but comparison is done in
canse-insensitive manner. For example, the addresses "John Doe
<john@example.com>" and "Dr. John Doe <JOHN@EXAMPLE.COM>" will
be considered duplicate.
**nameaddrfold** is like **nameaddr**, but address comparison
is done in canse-insensitive manner. For example, the
addresses "John Doe <john@example.com>" and "John Doe
<JOHN@EXAMPLE.COM>" will be considered duplicate.
EXIT STATUS
===========
This command supports the following special exit status codes
``20``
The requested format version is too old.
``21``
The requested format version is too new.
SEE ALSO
========
**notmuch(1)**, **notmuch-config(1)**, **notmuch-count(1)**,
**notmuch-dump(1)**, **notmuch-hooks(5)**, **notmuch-insert(1)**,
**notmuch-new(1)**, **notmuch-reply(1)**, **notmuch-restore(1)**,
**notmuch-search-terms(7)**, **notmuch-show(1)**, **notmuch-tag(1)**,
***notmuch-search(1)**
|