erlug
[Top] [All Lists]

Re: [Erlug] trovare file contenete due nomi

To: erlug@xxxxxxxxxxxxxx
Subject: Re: [Erlug] trovare file contenete due nomi
From: Davide Brini <db72@xxxxxxxxxxxx>
Date: Wed, 25 Nov 2009 22:48:53 +0000
On Wednesday 25 November 2009, Federico Calboli wrote:
> Aloha,
> 
> dati chili e chili di file di testo (email varie, un file per
> messaggio), io voglio trovare i file contenenti due nomi (pippo e
> pluto per esempio), e solo quelli. Io fino a sciappinare con grep ci
> arrivo, ma grep non fa quello di cui ho bisogno:
> 
> grep pippo *.emlx | grep pluto
> 
> mi trova tutte le righe in tutti i file con pippo e pluto (ovvero
> nessuna). find non mi pare che faccia quello che voglio (ovvero dirmi
> in quali file i nomi pippo e pluto compaiono entrambi). Idee? che fo?

Alcune idee:

grep -l:

grep -l pippo *.emlx | xargs grep -l pluto

(che poi sarebbe meglio scrivere cosi':

grep -lZ pippo *.emplx | xargs -0 grep -l pluto )

oppure

perl -n0e 'if(/pippo/&&/pluto/){print "$ARGV\n"}' *.emplx

o ancora

awk 'FNR==1{pippo=0;pluto=0}
     /pippo/{pippo=1}
     /pluto/{pluto=1}
     pippo && pluto {print FILENAME}' *.emplx

<Prev in Thread] Current Thread [Next in Thread>