notmuch-search(1)

NAME

   notmuch-search - search for messages matching the given search terms

SYNOPSIS

   notmuch search [option ...] <search-term> ...

DESCRIPTION

   Search  for  messages  matching  the given search terms, and display as
   results the threads containing the matched messages.

   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
   messages  in  the  thread, the names of all participants in the thread,
   and the subject of the newest (or oldest) message.

   See notmuch-search-terms(7) for details of  the  supported  syntax  for
   <search-terms>.

   Supported options for search 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=(summary|threads|messages|files|tags)

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

          threads
                 Output the thread IDs of all  threads  with  any  message
                 matching   the   search   terms,   either  one  per  line
                 (--format=text),    separated    by    null    characters
                 (--format=text0),  as a JSON array (--format=json), or an
                 S-Expression list (--format=sexp).

          messages
                 Output the message  IDs  of  all  messages  matching  the
                 search   terms,  either  one  per  line  (--format=text),
                 separated by null characters (--format=text0), as a  JSON
                 array   (--format=json),   or  as  an  S-Expression  list
                 (--format=sexp).

          files  Output the filenames of all messages matching the  search
                 terms,  either one per line (--format=text), separated by
                 null  characters  (--format=text0),  as  a   JSON   array
                 (--format=json),    or    as    an    S-Expression   list
                 (--format=sexp).

                 Note  that  each  message  may  have  multiple  filenames
                 associated  with  it.  All  of  them  are included in the
                 output (unless limited with  the  --duplicate=N  option).
                 This  may  be particularly confusing for folder: or path:
                 searches in a specified directory, as  the  messages  may
                 have duplicates in other directories that are included in
                 the output, although these files alone  would  not  match
                 the search.

          tags   Output  all  tags that appear on any message matching the
                 search  terms,  either  one  per  line   (--format=text),
                 separated  by null characters (--format=text0), as a JSON
                 array  (--format=json),  or  as  an   S-Expression   list
                 (--format=sexp).

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

             Note:  The  thread  order  will be distinct between these two
             options (beyond  being  simply  reversed).  When  sorting  by
             oldest-first the threads will be sorted by the oldest message
             in each thread, but when sorting by newest-first 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).

      --offset=[-]N
             Skip  displaying  the  first N results. With the leading '-',
             start at the Nth result from the end.

      --limit=N
             Limit the number of displayed results to N.

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

      --duplicate=N
             For  --output=files,  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't print anything.

             For --output=messages, only output message  IDs  of  messages
             matching  the  search  terms  that  have at least N filenames
             associated with them.

             Note that this option is orthogonal with the  folder:  search
             prefix.  The prefix matches messages based on filenames. This
             option filters filenames of the matching messages.

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-address(1)

AUTHOR

   Carl Worth and many others

COPYRIGHT

   2009-2016, Carl Worth and many others



Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.


Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.


Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.