GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
MPICK(1) FreeBSD General Commands Manual MPICK(1)

mpick
advanced message filter

mpick [
-T
] [
-t test
] [
msglist ...
]

mpick prints all matching messages.
If used interactively, mpick will default to the current sequence. Otherwise, mpick will read filenames from the standard input.
The options are as follows:
Include whole thread.
test
Only show messages matching the expression test, see TESTS.

mpick message lists (msglist) are mostly compatible with mailx(1). They are message specifications used as shortened TESTS, and can include:
n
Message number n.
n:m, n-m
An inclusive range of message numbers between n and m.
address
All messages from address.
string
All messages with string in the subject line (case ignored).
c
All messages of type c, where c shall be one of:
Draft messages.
Passed (resent, forwarded or bounced) messages.
Replied messages.
Flagged messages.
, T
Deleted messages.
New messages.
Old messages.
, S
Read messages.
Unread messages.

mpick tests are given by the following EBNF:
<expr>     ::= <expr> || <expr>  -- disjunction 
             | <expr> && <expr>  -- conjunction 
             | ! <expr>          -- negation 
             | ( <expr> ) 
             | <flagprop> 
             | <timeprop> <numop> <dur> 
             | <numprop> <numop> <num> 
             | <strprop> <strop> <str> 
             | prune             -- do not match further messages in thread 
             | print             -- always true value 
 
<flagprop> ::= child | draft | flagged | info | new | parent | passed 
             | replied  | seen | selected | trashed 
 
<timeprop> ::= atime | ctime | mtime | date 
 
<numprop>  ::= depth | kept | replies | index | size | total 
 
<numop>    ::= <= | < | >= | > | == | = | != 
 
<dur>      ::= "./path"          -- mtime of relative path 
             | "/path"           -- mtime of absolute path 
             | "YYYY-MM-DD HH:MM:SS" 
             | "YYYY-MM-DD"      -- at midnight 
             | "HH:MM:SS"        -- today 
             | "HH:MM"           -- today 
             | "-[0-9]+d"        -- n days ago at midnight 
             | "-[0-9]+h"        -- n hours before now 
             | "-[0-9]+m"        -- n minutes before now 
             | "-[0-9]+s"        -- n seconds before now 
             | [0-9]+            -- absolute epoch time 
 
<num>      ::= [0-9]+ ( c        -- *1 
                      | b        -- *512 
                      | k        -- *1024 
                      | M        -- *1024*1024 
                      | G        -- *1024*1024*1024 
                      | T )?     -- *1024*1024*1024*1024 
             | cur               -- index of cur message 
 
<strprop>  ::= from | subject | to 
             | <str>             -- header name 
 
<strop>    ::= == | = | !=       -- string (in)equality 
             | ===    | !===     -- case insensitive string (in)equality 
             | ~~     | !~~      -- glob (fnmatch) 
             | ~~~    | !~~~     -- case insensitive glob (fnmatch) 
             | =~     | !=~ | !~ -- POSIX Extended Regular Expressions 
             | =~~    | !=~~     -- case insensitive POSIX Extended Regular Expressions 
 
<str>      ::= " ([^"] | "")+ "  -- use "" for a single " inside " 
             | $[A-Za-z0-9_]+    -- environment variable

The mpick utility exits 0 on success, and >0 if an error occurs.

You can pick mails to move them into another maildir.
mv $(mlist ./INBOX | mpick -t 'from =~ "@github"') ./github/cur
Or you can use mpick to pick mails from the current sequence.
mpick -t 'subject =~~ "mblaze"' | mscan
A more advanced mpick expression to pick mails in a certain time span, which are flagged as replied or not seen.
mpick -t 'date >= "2016-01-01" && date < "2017-01-01" && (replied || !seen)'
And to find other mblaze users.
mpick -t '"User-Agent" =~~ "mblaze"' | mscan

lr(1), mailx(1)

Leah Neukirchen <leah@vuxu.org>
Duncan Overbruck <mail@duncano.de>

mpick is in the public domain.
To the extent possible under law, the creator of this work has waived all copyright and related or neighboring rights to this work.
http://creativecommons.org/publicdomain/zero/1.0/
July 27, 2016 FreeBSD 12.0-RELEASE

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.