[gull] Petite question grep

Félix Hauri felix at f-hauri.ch
Thu Nov 19 08:44:41 CET 2009


On Wed, Nov 18, 2009 at 06:23:51PM +0100, Sebastien Chassot wrote:
> Le mercredi 18 novembre 2009 à 13:54 +0100, Nicolas Borboën a écrit :
> > Bonjour,
> >     petite question grep...
> > 
> > Comment puis-je exprimer un "et" dans le pattern de grep ou comment 
> > fusionner le résultat de deux grep?
> 
> C'est pas ce que tu demandes mais je signal quand même qu'il y a aussi
> awk que l'on néglige trop souvent...
> 
> 
> awk '/exp1/ && /exp2/ {print}' *

Oui, d'autant que

awk 'BEGIN { p=0 };
     /expr1/ {if (p==2) {print FILENAME;nextfile;} else {p=1}};
     /expr2/ {if (p==1) {print FILENAME;nextfile;} else {p=2}};
     END {};' *

fait le job demandé. 
Sans récursion et sur un plus petit groupe de fichier que la commande find,
mais sans fork, cela pourrait plaire à certains...

On peut égallement le faire en Perl, Python, Cobol et GwBasic...


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


More information about the gull mailing list