pick man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

PICK(1)								       PICK(1)

NAME
       pick - search for messages by content

SYNOPSIS
       pick [+folder] [msgs] [-and ...]	 [-or ...]  [-not ...]	[-lbrace ...
	    -rbrace] [--component pattern] [-cc pattern] [-date pattern]
	    [-from pattern] [-search pattern] [-subject pattern] [-to pattern]
	    [-after date] [-before date] [-datefield field] [-sequence name
	    ...]  [-nosequence] [-public | -nopublic] [-zero | -nozero] [-list
	    | -nolist] [-version] [-help]

       typical usage:

	    scan `pick -from jones`
	    pick -to holloway -sequence select
	    show `pick -before friday`

DESCRIPTION
       Pick searches within a folder for messages with the specified contents,
       and then identifies those messages.  Two types of search primitives are
       available: pattern matching and date constraint operations.

       A modified grep(1) is used to perform the matching, so the full regular
       expression  (see	 ed(1))	 facility  is  available within pattern.  With
       -search, pattern is used directly, and with the others, the  grep  pat‐
       tern constructed is:

	    `component[ \t]*:.*pattern'

       This  means  that  the  pattern	specified  for a -search will be found
       everywhere in the message, including the header and the body, while the
       other  pattern  matching	 requests  are limited to the single specified
       component.  The expression

	    `--component pattern'

       is a shorthand for specifying

	    `-search “component[ \t]*:.*pattern” '

       It is used to pick a component  which  is  not  one  of	“To:”,	“cc:”,
       “Date:”, “From:”, or “Subject:”.	 An example is “pick --reply-to pooh”.

       Pattern	matching  is performed on a per-line basis.  Within the header
       of the message, each component is treated as one long line, but in  the
       body,  each line is separate.  Lower-case letters in the search pattern
       will match either lower or upper case in the message, while upper  case
       will match only upper case.

       Note  that  since  the -date switch is a pattern matching operation (as
       described above), to find messages sent on a certain date  the  pattern
       string must match the text of the “Date:” field of the message.

       Independent  of any pattern matching operations requested, the switches
       -after date or -before date may also be	used  to  introduce  date/time
       constraints  on	all of the messages.  By default, the “Date:” field is
       consulted, but if another date yielding field (such as “BB-Posted:”  or
       “Delivery-Date:”)  should  be  used, the -datefield field switch may be
       used.

       With -before and -after, pick will actually parse the  date  fields  in
       each  of	 the  messages	specified  in  `msgs'  and compare them to the
       date/time specified.  If -after is  given,  then	 only  those  messages
       whose  “Date:”  field value is chronologically after the date specified
       will be considered.  The -before	 switch	 specifies  the	 complimentary
       action.

       Both  the  -after  and  -before	switches take legal RFC 822-style date
       specifications as arguments.  Pick will default certain missing	fields
       so  that	 the  entire date need not be specified.  These fields are (in
       order of defaulting): timezone, time and timezone, date, date and time‐
       zone.   All  defaults  are taken from the current date, time, and time‐
       zone.

       In addition to RFC 822-style dates, pick will also recognize any of the
       days of the week (“sunday”, “monday”, and so on), and the special dates
       “today”, “yesterday” (24 hours ago),  and  “tomorrow”  (24  hours  from
       now).   All  days  of the week are judged to refer to a day in the past
       (e.g., telling pick “saturday” on a “tuesday” means “last saturday” not
       “this saturday”).

       Finally,	 in  addition  to these special specifications, pick will also
       honor a specification of the form “-dd”, which means “dd days ago”.

       Pick supports complex boolean operations on  the	 searching  primitives
       with the -and, -or, -not, and -lbrace ...  -rbrace switches.  For exam‐
       ple,

	    pick -after yesterday -and
		 -lbrace -from freida -or -from fear -rbrace

       identifies messages recently sent by “frieda” or “fear”.

       The matching primitives take precedence over the -not switch, which  in
       turn  takes  precedence	over  -and which in turn takes precedence over
       -or.  To override the  default  precedence,  the	 -lbrace  and  -rbrace
       switches	 are  provided, which act just like opening and closing paren‐
       theses in logical expressions.

       If no search criteria are given, all the messages specified on the com‐
       mand line are selected (this defaults to “all”).

       Once  the  search has been performed, if the -list switch is given, the
       message numbers of the selected messages are written  to	 the  standard
       output  separated  by  newlines.	  This is extremely useful for quickly
       generating arguments for other nmh programs by using the	 “backquoting”
       syntax of the shell.  For example, the command

	    scan `pick +todo -after “31 Mar 83 0123 PST”`

       says  to	 scan  those  messages	in the indicated folder which meet the
       appropriate criterion.  Note that  since	 pick's	 context  changes  are
       written	out  prior  to scan's invocation, you need not give the folder
       argument to scan as well.

       The -sequence name switch may be given once for each sequence the  user
       wishes  to  define.   For  each	sequence  named, that sequence will be
       defined to mean exactly those messages selected by pick.	 For example,

	    pick -from frated -seq fred

       defines a new message sequence for the  current	folder	called	“fred”
       which contains exactly those messages that were selected.

       The  -nosequence	 switch	 will  disable all previously named sequences,
       allowing those established by a profile component to be overridden.

       By default, pick will zero a sequence before adding  it.	  This	action
       can  be disabled with the -nozero switch, which means that the messages
       selected by pick will be added to the sequence, if it  already  exists,
       and any messages already a part of that sequence will remain so.

       The  -public  and  -nopublic  switches are used by pick in the same way
       mark uses them.

   Output when no messages are matched
       If pick is used in a backquoted operation, such as

	    scan `pick -from jones`

       and pick selects no messages (e.g., no messages are from “jones”), then
       the shell will still run the outer command (e.g., scan).	 Since no mes‐
       sages were matched, pick produced no output, and the argument given  to
       the  outer  command  as	a result of backquoting pick is empty.	In the
       case of nmh programs, the outer command now  acts  as  if  the  default
       `msg'  or  `msgs' should be used (e.g., “all” in the case of scan).  To
       prevent this unexpected behavior, if -list was given, and if its	 stan‐
       dard  output is not a tty, then pick outputs the illegal message number
       “0” when it fails.  This lets the  outer	 command  fail	gracefully  as
       well.

FILES
       $HOME/.mh_profile		    The user profile

PROFILE COMPONENTS
       Path:		    To determine the user's nmh directory
       Current-Folder:	    To find the default current folder

SEE ALSO
       mark(1)

DEFAULTS
       `+folder' defaults to the current folder
       `msgs' defaults to all
       `-datefield date'
       `-zero'
       `-list' is the default if no `-sequence', `-nolist' otherwise

CONTEXT
       If a folder is given, it will become the current folder.

HISTORY
       In  previous  versions  of  MH,	the  pick command would show, scan, or
       refile the selected messages.  This was rather  “inverted  logic”  from
       the  UNIX  point	 of  view, so pick was changed to define sequences and
       output those sequences.	Hence, pick can be used to generate the	 argu‐
       ments  for  all	other  MH  commands,  instead  of  giving pick endless
       switches for invoking those commands itself.

       Also, previous versions of pick balked if you didn't specify  a	search
       string  or  a  date/time constraint.  The current version does not, and
       merely matches the messages you specify.	 This lets you type  something
       like:

	    show `pick last:20 -seq fear`

       instead of typing

	    mark -add -nozero -seq fear last:20
	    show fear

       Finally, timezones used to be ignored when comparing dates: they aren't
       any more.

HELPFUL HINTS
       Use “pick sequence -list” to enumerate the messages in a sequence (such
       as for use by a shell script).

BUGS
       Any  occurrence of -datefield must occur prior to the -after or -before
       switch it applies to.

       The pattern syntax “[l-r]” is not supported; each letter to be  matched
       must be included within the square brackets.

nmh-1.6				 March 1, 2014			       PICK(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net