<h2>SYNOPSIS</h2>
<pre>
- <b>notmuch</b> <b>count</b> [<u>options...</u>] <<u>search-term</u>>...
+ <b>notmuch</b> <b>count</b> [option ...] <<u>search-term</u>> ...
- <b>notmuch</b> <b>dump</b> [ <<u>filename</u>> ] [--] [ <<u>search-term</u>>...]
+ <b>notmuch</b> <b>dump</b> [--format=(batch-tag|sup)] [--] [--output=<<u>file</u>>] [--]
+ [<<u>search-term</u>> ...]
- <b>notmuch</b> <b>search</b> [<u>options</u>...] <<u>search-term</u>>...
+ <b>notmuch</b> <b>search</b> [option ...] <<u>search-term</u>> ...
- <b>notmuch</b> <b>show</b> [<u>options</u>...] <<u>search-term</u>>...
+ <b>notmuch</b> <b>show</b> [option ...] <<u>search-term</u>> ...
- <b>notmuch</b> <b>tag</b> +<<u>tag</u>>|-<<u>tag</u>> [...] [--] <<u>search-term</u>>...
+ <b>notmuch</b> <b>tag</b> +<<u>tag</u>> ... -<<u>tag</u>> [--] <<u>search-term</u>> ...
</pre>
<h2>DESCRIPTION</h2>
<pre>
Several notmuch commands accept a common syntax for search terms.
- The search terms can consist of free-form text (and quoted phrases)
- which will match all messages that contain all of the given
- terms/phrases in the body, the subject, or any of the sender or recipi-
+ The search terms can consist of free-form text (and quoted phrases)
+ which will match all messages that contain all of the given
+ terms/phrases in the body, the subject, or any of the sender or recipi‐
ent headers.
- As a special case, a search string consisting of exactly a single
+ As a special case, a search string consisting of exactly a single
asterisk ("*") will match all messages.
- In addition to free text, the following prefixes can be used to force
+ In addition to free text, the following prefixes can be used to force
terms to match against specific portions of an email, (where <brackets>
indicate user-supplied values):
- from:<name-or-address>
+ · from:<name-or-address>
- to:<name-or-address>
+ · to:<name-or-address>
- subject:<word-or-quoted-phrase>
+ · subject:<word-or-quoted-phrase>
- attachment:<word>
+ · attachment:<word>
- tag:<tag> (or is:<tag>)
+ · tag:<tag> (or is:<tag>)
- id:<message-id>
+ · id:<message-id>
- thread:<thread-id>
+ · thread:<thread-id>
- folder:<directory-path>
+ · folder:<maildir-folder>
- date:<since>..<until>
+ · path:<directory-path> or path:<directory-path>/**
- The <b>from:</b> prefix is used to match the name or address of the sender of
+ · date:<since>..<until>
+
+ The <b>from:</b> prefix is used to match the name or address of the sender of
an email message.
The <b>to:</b> prefix is used to match the names or addresses of any recipient
of an email message, (whether To, Cc, or Bcc).
- Any term prefixed with <b>subject:</b> will match only text from the subject
- of an email. Searching for a phrase in the subject is supported by
+ Any term prefixed with <b>subject:</b> will match only text from the subject
+ of an email. Searching for a phrase in the subject is supported by
including quotation marks around the phrase, immediately following <b>sub-</b>
<b>ject:</b>.
The <b>attachment:</b> prefix can be used to search for specific filenames (or
extensions) of attachments to email messages.
- For <b>tag:</b> and <b>is:</b> valid tag values include <b>inbox</b> and <b>unread</b> by default
- for new messages added by <b>notmuch</b> <b>new</b> as well as any other tag values
+ For <b>tag:</b> and <b>is:</b> valid tag values include <b>inbox</b> and <b>unread</b> by default
+ for new messages added by <b>notmuch</b> <b>new</b> as well as any other tag values
added manually with <b>notmuch</b> <b>tag</b>.
- For <b>id:</b>, message ID values are the literal contents of the Message-ID:
+ For <b>id:</b>, message ID values are the literal contents of the Message-ID:
header of email messages, but without the '<', '>' delimiters.
- The <b>thread:</b> prefix can be used with the thread ID values that are gen-
- erated internally by notmuch (and do not appear in email messages).
- These thread ID values can be seen in the first column of output from
+ The <b>thread:</b> prefix can be used with the thread ID values that are gen‐
+ erated internally by notmuch (and do not appear in email messages).
+ These thread ID values can be seen in the first column of output from
<b>notmuch</b> <b>search</b>
- The <b>folder:</b> prefix can be used to search for email message files that
- are contained within particular directories within the mail store. If
- the same email message has multiple message files associated with it,
- it's sufficient for a match that at least one of the files is contained
- within a matching directory. Only the directory components below the
- top-level mail database path are available to be searched.
-
- The <b>date:</b> prefix can be used to restrict the results to only messages
+ The <b>path:</b> prefix searches for email messages that are in particular
+ directories within the mail store. The directory must be specified rel‐
+ ative to the top-level maildir (and without the leading slash). By
+ default, <b>path:</b> matches messages in the specified directory only. The
+ "/**" suffix can be used to match messages in the specified directory
+ and all its subdirectories recursively. <b>path:""</b> matches messages in
+ the root of the mail store and, likewise, <b>path:**</b> matches all messages.
+
+ The <b>folder:</b> prefix searches for email messages by maildir or MH folder.
+ For MH-style folders, this is equivalent to <b>path:</b>. For maildir, this
+ includes messages in the "new" and "cur" subdirectories. The exact syn‐
+ tax for maildir folders depends on your mail configuration. For
+ maildir++, <b>folder:""</b> matches the inbox folder (which is the root in
+ maildir++), other folder names always start with ".", and nested fold‐
+ ers are separated by "."s, such as <b>folder:.classes.topology</b>. For "file
+ system" maildir, the inbox is typically <b>folder:INBOX</b> and nested folders
+ are separated by slashes, such as <b>folder:classes/topology</b>.
+
+ Both <b>path:</b> and <b>folder:</b> will find a message if <u>any</u> copy of that message
+ is in the specific directory/folder.
+
+ The <b>date:</b> prefix can be used to restrict the results to only messages
within a particular time range (based on the Date: header) with a range
syntax of:
- date:<since>..<until>
+ date:<since>..<until>
See <b>DATE</b> <b>AND</b> <b>TIME</b> <b>SEARCH</b> below for details on the range expression, and
supported syntax for <since> and <until> date and time expressions.
The time range can also be specified using timestamps with a syntax of:
- <initial-timestamp>..<final-timestamp>
+ <initial-timestamp>..<final-timestamp>
Each timestamp is a number representing the number of seconds since
1970-01-01 00:00:00 UTC.
<h2>DATE AND TIME SEARCH</h2>
<pre>
- notmuch understands a variety of standard and natural ways of express-
- ing dates and times, both in absolute terms ("2012-10-24") and in rela-
+ notmuch understands a variety of standard and natural ways of express‐
+ ing dates and times, both in absolute terms ("2012-10-24") and in rela‐
tive terms ("yesterday"). Any number of relative terms can be combined
("1 hour 25 minutes") and an absolute date/time can be combined with
relative terms to further adjust it. A non-exhaustive description of
the syntax supported for absolute and relative terms is given below.
+</pre>
- <b>The</b> <b>range</b> <b>expression</b>
-
- date:<since>..<until>
-
- The above expression restricts the results to only messages
- from <since> to <until>, based on the Date: header.
-
- <since> and <until> can describe imprecise times, such as
- "yesterday". In this case, <since> is taken as the earliest
- time it could describe (the beginning of yesterday) and <until>
- is taken as the latest time it could describe (the end of yes-
- terday). Similarly, date:january..february matches from the
- beginning of January to the end of February.
-
- Currently, we do not support spaces in range expressions. You
- can replace the spaces with '_', or (in most cases) '-', or (in
- some cases) leave the spaces out altogether. Examples in this
- man page use spaces for clarity.
-
- Open-ended ranges are supported (since Xapian 1.2.1), i.e. it's
- possible to specify date:..<until> or date:<since>.. to not
- limit the start or end time, respectively. Pre-1.2.1 Xapian
- does not report an error on open ended ranges, but it does not
- work as expected either.
-
- Entering date:expr without ".." (for example date:yesterday)
- won't work, as it's not interpreted as a range expression at
- all. You can achieve the expected result by duplicating the
- expr both sides of ".." (for example date:yesterday..yester-
- day).
+<h3> The range expression</h3>
+<pre>
+ date:<since>..<until>
+
+ The above expression restricts the results to only messages from
+ <since> to <until>, based on the Date: header.
+
+ <since> and <until> can describe imprecise times, such as "yesterday".
+ In this case, <since> is taken as the earliest time it could describe
+ (the beginning of yesterday) and <until> is taken as the latest time it
+ could describe (the end of yesterday). Similarly, date:january..febru‐
+ ary matches from the beginning of January to the end of February.
+
+ Currently, we do not support spaces in range expressions. You can
+ replace the spaces with '_', or (in most cases) '-', or (in some cases)
+ leave the spaces out altogether. Examples in this man page use spaces
+ for clarity.
+
+ Open-ended ranges are supported (since Xapian 1.2.1), i.e. it's possi‐
+ ble to specify date:..<until> or date:<since>.. to not limit the start
+ or end time, respectively. Pre-1.2.1 Xapian does not report an error on
+ open ended ranges, but it does not work as expected either.
+
+ Entering date:expr without ".." (for example date:yesterday) won't
+ work, as it's not interpreted as a range expression at all. You can
+ achieve the expected result by duplicating the expr both sides of ".."
+ (for example date:yesterday..yesterday).
+</pre>
- <b>Relative</b> <b>date</b> <b>and</b> <b>time</b>
- [N|number] (years|months|weeks|days|hours|hrs|minutes|mins|sec-
- onds|secs) [...]
+<h3> Relative date and time</h3>
+<pre>
+ [N|number] (years|months|weeks|days|hours|hrs|minutes|mins|sec‐
+ onds|secs) [...]
- All refer to past, can be repeated and will be accumulated.
+ All refer to past, can be repeated and will be accumulated.
- Units can be abbreviated to any length, with the otherwise
- ambiguous single m being m for minutes and M for months.
+ Units can be abbreviated to any length, with the otherwise ambiguous
+ single m being m for minutes and M for months.
- Number can also be written out one, two, ..., ten, dozen, hun-
- dred. Additionally, the unit may be preceded by "last" or
- "this" (e.g., "last week" or "this month").
+ Number can also be written out one, two, ..., ten, dozen, hundred.
+ Additionally, the unit may be preceded by "last" or "this" (e.g., "last
+ week" or "this month").
- When combined with absolute date and time, the relative date
- and time specification will be relative from the specified
- absolute date and time.
+ When combined with absolute date and time, the relative date and time
+ specification will be relative from the specified absolute date and
+ time.
- Examples: 5M2d, two weeks
+ Examples: 5M2d, two weeks
+</pre>
- <b>Supported</b> <b>absolute</b> <b>time</b> <b>formats</b>
- H[H]:MM[:SS] [(am|a.m.|pm|p.m.)]
+<h3> Supported absolute time formats</h3>
+<pre>
+ · H[H]:MM[:SS] [(am|a.m.|pm|p.m.)]
- H[H] (am|a.m.|pm|p.m.)
+ · H[H] (am|a.m.|pm|p.m.)
- HHMMSS
+ · HHMMSS
- now
+ · now
- noon
+ · noon
- midnight
+ · midnight
- Examples: 17:05, 5pm
+ · Examples: 17:05, 5pm
+</pre>
- <b>Supported</b> <b>absolute</b> <b>date</b> <b>formats</b>
- YYYY-MM[-DD]
+<h3> Supported absolute date formats</h3>
+<pre>
+ · YYYY-MM[-DD]
- DD-MM[-[YY]YY]
+ · DD-MM[-[YY]YY]
- MM-YYYY
+ · MM-YYYY
- M[M]/D[D][/[YY]YY]
+ · M[M]/D[D][/[YY]YY]
- M[M]/YYYY
+ · M[M]/YYYY
- D[D].M[M][.[YY]YY]
+ · D[D].M[M][.[YY]YY]
- D[D][(st|nd|rd|th)] Mon[thname] [YYYY]
+ · D[D][(st|nd|rd|th)] Mon[thname] [YYYY]
- Mon[thname] D[D][(st|nd|rd|th)] [YYYY]
+ · Mon[thname] D[D][(st|nd|rd|th)] [YYYY]
- Wee[kday]
+ · Wee[kday]
- Month names can be abbreviated at three or more characters.
+ Month names can be abbreviated at three or more characters.
- Weekday names can be abbreviated at three or more characters.
+ Weekday names can be abbreviated at three or more characters.
- Examples: 2012-07-31, 31-07-2012, 7/31/2012, August 3
+ Examples: 2012-07-31, 31-07-2012, 7/31/2012, August 3
+</pre>
- <b>Time</b> <b>zones</b>
- (+|-)HH:MM
+<h3> Time zones</h3>
+<pre>
+ · (+|-)HH:MM
- (+|-)HH[MM]
+ · (+|-)HH[MM]
- Some time zone codes, e.g. UTC, EET.
+ Some time zone codes, e.g. UTC, EET.
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not-</a>
- <a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1),
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
+ <a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1),
<a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
</pre>
-<h2>Notmuch 0.17</h2>
+<h2>AUTHOR</h2>
+<pre>
+ Carl Worth and many others
+</pre>
+
+<h2>COPYRIGHT</h2>
+<pre>
+ 2014, Carl Worth and many others
+</pre>
+
+<h2>0.18.1</h2>