[gull] email

Félix Hauri felix at f-hauri.ch
Thu Sep 22 09:34:18 CEST 2005


On Wed, Sep 21, 2005 at 06:03:57PM +0200, Simon Schmidig wrote:
> Bonjour,
> 
> J'aimerais bien certaines emails d'un fichier log. J'ai essayé :
> # grep 'Not-Delivered' /var/log/mail.log | cut -d'<' -f2 | tr '\> \-\>'
> ' '
> mais je pense ce n'est pas la meilleurs solution.
Perl (Practical Extraction and Research Languade) est fait pour ça:

perl -pe </var/log/mail.log '
    /^.*Not-deliv[^<]*<([^>]*)>/ && do { print $1};
    undef $_'
 
Explication:
  /          debut de regexp (expression régulière)
  ^          debut d'une ligne
  .*         n'importe quel caractère, n'importe combien de fois.
  Not-deliv  en toutes lettres (maj-min important)
  [^<]*      n'importe quel caractère sauf ``<'', n'importe combien de fois.
  <          en toutes lettres
  (          début de partie de regexp à confiner dans une variable ($1)
  [^>]*      n'importe quel caractère sauf ``>'', n'importe combien de fois.
  )          fin de partie de regexp à confiner dans une variable ($1)
  >          en toutes lettres, immédiatement après le dernier car de $1.
  /          fin du regexp.

A modeler à ta guise!

(c.f. man perlre)

-- 
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch



More information about the gull mailing list