]> git.cworth.org Git - notmuch-wiki/blobdiff - manpages/notmuch-search-1.mdwn
complete sentence
[notmuch-wiki] / manpages / notmuch-search-1.mdwn
index 95eead47d39b31e4666db51065d00c4d880f1443..6ea3bab36c96cbbade398ff6627dba2e9126200e 100644 (file)
 <h1>NOTMUCH-SEARCH(1)</h1>
 
 <h2>NAME</h2>
-
 <pre>
-       notmuch-search - Search for messages matching the given search terms.
+       notmuch-search - search for messages matching the given search terms
 </pre>
 
 <h2>SYNOPSIS</h2>
-
 <pre>
-       <b>notmuch</b> <b>search</b> [<u>options</u>...] <<u>search-term</u>>...
+       <b>notmuch</b> <b>search</b> [<u>option</u> ...] &lt;<u>search-term</u>&gt; ...
 </pre>
 
 <h2>DESCRIPTION</h2>
-
 <pre>
-       Search  for  messages  matching  the given search terms, and display as
-       results the threads containing the matched messages.
-</pre>
+       Search for messages matching the given search terms, and display as re‐
+       sults the threads containing the matched messages.
 
-<pre>
        The output consists of one line per thread, giving  a  thread  ID,  the
        date  of  the  newest (or oldest, depending on the sort option) matched
-       message in the thread, the number of matched messages  and  total  mes-
+       message in the thread, the number of matched messages  and  total  mes
        sages  in  the thread, the names of all participants in the thread, and
        the subject of the newest (or oldest) message.
-</pre>
 
-<pre>
-       See <b>notmuch-search-terms</b>(7) for details of  the  supported  syntax  for
-       <search-terms>.
-</pre>
+       See <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7) for details of  the  supported  syntax  for
+       &lt;search-terms&gt;.
 
-<pre>
        Supported options for <b>search</b> include
-</pre>
 
-<pre>
-           <b>--format=</b>(<b>json</b>|<b>text</b>)
-</pre>
+       <b>--format=(json|sexp|text|text0)</b>
+              Presents  the  results  in  either  JSON, S-Expressions, newline
+              character separated plain-text (default), or null character sep‐
+              arated  plain-text  (compatible  with  <b>xargs</b>(1)  -0 option where
+              available).
+
+       <b>--format-version=N</b>
+              Use the specified structured output format version. This is  in‐
+              tended  for programs that invoke <a href='../notmuch-1/'>notmuch</a>(1) internally. If omit‐
+              ted, the latest supported version will be used.
+
+       <b>--output=(summary|threads|messages|files|tags)</b>
+
+              <b>summary</b>
+                     Output a summary of each thread with any message matching
+                     the  search  terms.  The  summary includes the thread ID,
+                     date, the number of messages in the thread (both the num‐
+                     ber  matched  and  the  total number), the authors of the
+                     thread and the subject. In the case where a  thread  con‐
+                     tains  multiple files for some messages, the total number
+                     of files is printed in parentheses (see below for an  ex‐
+                     ample).
+
+              <b>threads</b>
+                     Output  the  thread  IDs  of all threads with any message
+                     matching the search terms, either one  per  line  (<b>--for-</b>
+                     <b>mat=text</b>), separated by null characters (<b>--format=text0</b>),
+                     as a JSON array (<b>--format=json</b>), or an S-Expression  list
+                     (<b>--format=sexp</b>).
+
+              <b>messages</b>
+                     Output  the  message  IDs  of  all  messages matching the
+                     search terms, either one per line (<b>--format=text</b>),  sepa‐
+                     rated  by null characters (<b>--format=text0</b>), as a JSON ar‐
+                     ray (<b>--format=json</b>), or as an S-Expression  list  (<b>--for-</b>
+                     <b>mat=sexp</b>).
+
+              <b>files</b>  Output  the filenames of all messages matching the search
+                     terms, either one per line (<b>--format=text</b>), separated  by
+                     null characters (<b>--format=text0</b>), as a JSON array (<b>--for-</b>
+                     <b>mat=json</b>), or as an S-Expression list (<b>--format=sexp</b>).
+
+                     Note that each message may have multiple filenames  asso‐
+                     ciated  with  it.  All of them are included in the output
+                     (unless limited with the <b>--duplicate=N</b> option). This  may
+                     be  particularly  confusing for <b>folder:</b> or <b>path:</b> searches
+                     in a specified directory, as the messages may have dupli‐
+                     cates  in other directories that are included in the out‐
+                     put, although these  files  alone  would  not  match  the
+                     search.
+
+              <b>tags</b>   Output  all  tags that appear on any message matching the
+                     search terms, either one per line (<b>--format=text</b>),  sepa‐
+                     rated  by null characters (<b>--format=text0</b>), as a JSON ar‐
+                     ray (<b>--format=json</b>), or as an S-Expression  list  (<b>--for-</b>
+                     <b>mat=sexp</b>).
+
+       <b>--sort=(newest-first|oldest-first)</b>
+              This option can be used to present results in either chronologi‐
+              cal order (<b>oldest-first</b>) or reverse  chronological  order  (<b>new-</b>
+              <b>est-first</b>).
+
+              Note:  The  thread  order will be distinct between these two op‐
+              tions (beyond being  simply  reversed).  When  sorting  by  <b>old-</b>
+              <b>est-first</b>  the  threads  will be sorted by the oldest message in
+              each thread, but when sorting by <b>newest-first</b> the  threads  will
+              be sorted by the newest message in each thread.
+
+              By  default,  results will be displayed in reverse chronological
+              order, (that is, the newest results will be displayed first).
+
+       <b>--offset=[-]N</b>
+              Skip displaying the first N results. With the leading &apos;-&apos;, start
+              at the Nth result from the end.
+
+       <b>--limit=N</b>
+              Limit the number of displayed results to N.
+
+       <b>--exclude=(true|false|all|flag)</b>
+              A message is called &quot;excluded&quot; if it matches at least one tag in
+              search.exclude_tags that  does  not  appear  explicitly  in  the
+              search  terms.  This  option  specifies whether to omit excluded
+              messages in the search process.
+
+              <b>true</b> <b>(default)</b>
+                     Prevent excluded messages from matching the search terms.
+
+              <b>all</b>    Additionally prevent excluded messages from appearing  in
+                     displayed  results,  in effect behaving as though the ex‐
+                     cluded messages do not exist.
+
+              <b>false</b>  Allow excluded messages to match search terms and  appear
+                     in  displayed results. Excluded messages are still marked
+                     in the relevant outputs.
+
+              <b>flag</b>   Only has an effect when <b>--output=summary</b>. The  output  is
+                     almost  identical  to <b>false</b>, but the &quot;match count&quot; is the
+                     number of matching non-excluded messages in  the  thread,
+                     rather than the number of matching messages.
+
+       <b>--duplicate=N</b>
+              For <b>--output=files</b>, output the Nth filename associated with each
+              message matching the query (N is 1-based). If N is greater  than
+              the  number  of  files  associated with the message, don&apos;t print
+              anything.
 
-<pre>
-               Presents the results in either JSON or plain-text (default).
-</pre>
+              For <b>--output=messages</b>,  only  output  message  IDs  of  messages
+              matching the search terms that have at least N filenames associ‐
+              ated with them.
 
+              Note that this option is orthogonal with the <b>folder:</b> search pre‐
+              fix. The prefix matches messages based on filenames. This option
+              filters filenames of the matching messages.
+</pre>
+
+<h2>EXAMPLE</h2>
 <pre>
-           <b>--output=(summary|threads|messages|files|tags)</b>
-</pre>
+       The following shows an example of the summary output format,  with  one
+       message having multiple filenames.
 
-<pre>
-               <b>summary</b>
+          % notmuch search date:today.. and tag:bad-news
+          thread:0000000000063c10 Today [1/1] Some Persun; To the bone (bad-news inbox unread)
+          thread:0000000000063c25 Today [1/1(2)] Ann Other; Bears (bad-news inbox unread)
+          thread:0000000000063c00 Today [1/1] A Thurd; Bites, stings, sad feelings (bad-news unread)
 </pre>
 
+<h2>EXIT STATUS</h2>
 <pre>
-                   Output  a  summary of each thread with any message matching
-                   the search terms. The summary includes the thread ID, date,
-                   the  number  of  messages  in  the  thread (both the number
-                   matched and the total number), the authors  of  the  thread
-                   and the subject.
-</pre>
+       This command supports the following special exit status codes
 
-<pre>
-               <b>threads</b>
-</pre>
-
-<pre>
-                   Output  the  thread  IDs  of  all  threads with any message
-                   matching the search terms,  either  one  per  line  (--for-
-                   mat=text) or as a JSON array (--format=json).
-</pre>
-
-<pre>
-               <b>messages</b>
-</pre>
+       <b>20</b>     The requested format version is too old.
 
-<pre>
-                   Output  the message IDs of all messages matching the search
-                   terms, either one per line (--format=text)  or  as  a  JSON
-                   array (--format=json).
-</pre>
-
-<pre>
-               <b>files</b>
-</pre>
-
-<pre>
-                   Output  the  filenames  of all messages matching the search
-                   terms, either one per line (--format=text)  or  as  a  JSON
-                   array (--format=json).
-</pre>
-
-<pre>
-               <b>tags</b>
-</pre>
-
-<pre>
-                   Output  all  tags  that  appear on any message matching the
-                   search terms, either one per line (--format=text) or  as  a
-                   JSON array (--format=json).
-</pre>
-
-<pre>
-           <b>--sort=</b>(<b>newest-first</b>|<b>oldest-first</b>)
-</pre>
-
-<pre>
-               This option can be used to present results in either chronolog-
-               ical order (<b>oldest-first</b>) or reverse chronological order  (<b>new-</b>
-               <b>est-first</b>).
-</pre>
-
-<pre>
-               Note:  The  thread  order  will  be  distinct between these two
-               options (beyond being simply reversed). When  sorting  by  <b>old-</b>
-               <b>est-first</b>  the  threads will be sorted by the oldest message in
-               each thread, but when sorting by <b>newest-first</b> the threads  will
-               be sorted by the newest message in each thread.
-</pre>
-
-<pre>
-               By  default, results will be displayed in reverse chronological
-               order, (that is, the newest results will be displayed first).
-</pre>
-
-<pre>
-           <b>--offset=[-]N</b>
-</pre>
-
-<pre>
-               Skip displaying the first N  results.  With  the  leading  '-',
-               start at the Nth result from the end.
-</pre>
-
-<pre>
-           <b>--limit=N</b>
-</pre>
-
-<pre>
-               Limit the number of displayed results to N.
+       <b>21</b>     The requested format version is too new.
 </pre>
 
+<h2>SEE ALSO</h2>
 <pre>
-           <b>--exclude=(true|false|flag)</b>
+       <a href='../notmuch-1/'>notmuch</a>(1),   <a href='../notmuch-address-1/'>notmuch-address</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/'>notmuch-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-terms-7/'>notmuch-search-terms</a>(7),  <a href='../notmuch-show-1/'>not‐</a>
+       <a href='../notmuch-show-1/'>much-show</a>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
 </pre>
 
+<h2>AUTHOR</h2>
 <pre>
-               Specify  whether  to  omit messages matching search.tag_exclude
-               from the search results (the default) or not. The extra  option
-               <b>flag</b>  only has an effect when <b>--output=summary</b> In this case all
-               matching threads are returned but the "match count" is the num-
-               ber of matching non-excluded messages in the thread.
+       Carl Worth and many others
 </pre>
 
-<h2>SEE ALSO</h2>
-
+<h2>COPYRIGHT</h2>
 <pre>
-       <b>notmuch</b>(1),  <b>notmuch-config</b>(1), <b>notmuch-count</b>(1), <b>notmuch-dump</b>(1), <b>not-</b>
-       <b>much-hooks</b>(5),  <b>notmuch-new</b>(1),  <b>notmuch-reply</b>(1),  <b>notmuch-restore</b>(1),
-       <b>notmuch-search-terms</b>(7), <b>notmuch-show</b>(1), <b>notmuch-tag</b>(1)
+       2009-2022, Carl Worth and many others
 </pre>
 
-<h1>Notmuch 0.13.2</h1>
+<h2>0.35</h2>