Fran�ois TOURDE a �crit, mercredi 4 mai 2005, � 15:09 :
[...]
> Ouais, mais pour "nier" une expression r�guli�re compl�tement, c'est
> pas toujours la joie :) ... Dans son cas, l'option -v est la plus
> adapt�e.
D�s qu'on souhaite une condition logique un peu complexe, awk est plus
indiqu� : pour extraire les lignes avec Invalides mais pas 14-18,
awk '/Invalides/ && ! /14-18/'
au lieu de
grep ^Invalides | grep -v 14-18
(on peut se demander pourquoi -v a �t� choisi pour la n�gation).
Sed peut le faire aussi, bien s�r
sed -ne '/Invalides/{/14-18/d;p}'
sed -e '/Invalides/!d;/14-18/d'
mais c'est moins lisible � mon go�t.
> Sinon, tu es oblig� de faire des trucs du genre:
>
> ^([^I]|I[^n]|In[^v]|...|Invali[^d]|I$|In$|...|Invali$)*$
>
> Ce qui est tout sauf sexy ;)
Disons que c'est /th�oriquement/ faisable :). De m�me, un ET dans le
d�sordre ne peut gu�re d�passer deux termes :
grep -E '(tata.*titi|titi.*tata)'
La traduction en un seul grep de
awk '/tata/ && /titi/ && /toto/ && /tutu/'
est laiss�e en exercice.
--
Jacques L'helgoualc'h
--
Pensez � lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez � rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]