pipe magic: awk
Stiam mai de mult scamatoria, dar mi-a folosit de 3 ori saptamana asta (si e abia miercuri!): cand RS (resorce separator) este setat la stringul vid, awk lucreaza per paragrafe.
De exemplu:
mailq | tail -n +2 | awk 'BEGIN {RS=""} {if ($8 ~ /gmail.com$/) print $1}' | tr -d '*!' | postsuper -h -
Asta pune on hold toate mailurile catre gmail. (Da, am facut pe vidanjorul de postfix de curand).
Atentie! "Pipe incantations" sunt periculoase daca sunt folosite cu copy-paste fara a le intelege deplin! Sa nu ziceti ca nu v-am zis. Si a, da, atentie la eventualele "smart quotes" puse de wordpress
4 Responses to “pipe magic: awk”
November 28th, 2007 at 2:50 pm
tail: Warning: “+number” syntax is deprecated, please use “-n +number”
November 28th, 2007 at 6:23 pm
Asa e, era recent in changelogul de la coreutils ca trec pe strict POSIX compatibility, uitasem. Am modificat.
December 2nd, 2007 at 1:54 pm
Din aceasi categorie:
$man postsuper
to delete all mail with exactly one recipient user@example.com:
mailq | tail +2 | awk ´BEGIN { RS = "" }
# $7=sender, $8=recipient1, $9=recipient2
{ if ($8 == "user@example.com" && $9 == "")
print $1 }
´ | tr -d ’*!’ | postsuper -d -
December 2nd, 2007 at 3:43 pm
Pai da, acolo am vazut prima oara, acum ceva timp.