[gull] Grep avec plusieurs motifs?

Cédric Bouvier cbouvi at free.fr
Mon Jun 12 22:32:27 CEST 2006


Le lundi 12 juin 2006, à 17 heures 13, Leopoldo Ghielmetti écrivait :
> Dans le man page on dit d'aller voir dans les pages info, là il y a un
> tas d'exemples sur l'utilisation de sed.
> 
> Au fond sed est un vrai langage de programmation (je crois même qu'il
> est complet au sens de Turing), avec des boucles, des jumps, des tests
> de condition et un système primitif de variables (deux Accumulateurs si
> on parle assembleur ;-) ).
> Il est logique qu'il y a aussi un séparateur de commandes. Par contre il
> est vrai que dans la page de man ce n'est pas dit et qu'il faut avoir de
> la fantaisie pour le comprendre.

J'ai de lointains souvenir d'avoir fait des trucs assez complexes avec
sed. Il y avait une option (-f ?) pour indiquer le fichier qui contenait
les instructions, séparées par des \n. Plutôt qu'un fichier externe, on
doit pouvoir utiliser un here-doc, et mélanger ainsi du code sed et
shell. Évidemment, ce n'est pas parce qu'on peut qu'on doit.

Dans la version de sed que j'utilisais, Un seul "commentaire" était
autorisé: préfixé par # sur la première ligne. C'est suffisant pour une
shebang line, mais pas pour écrire du code maintenable.

Depuis je suis passé à Perl. Dans les cas simples, c'est à peine plus
compliqué:

    perl -ne 'print if /^(Subject|From):/' fichier.log

Et pour les cas plus ardus, voire même chevelus, ça reste efficace et
tellement plus puissant.

-- 
C é d r i c   B o u v i e r
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://forum.linux-gull.ch/pipermail/gull/attachments/20060612/fceab6c9/attachment.pgp>


More information about the gull mailing list