[ LUGOS ] grep

Darko Bulat darko.bulat na k2.net
Pet Jan 15 12:40:26 CET 1999


Ales Casar wrote:
> 
> On Fri, 15 Jan 1999, Metod Kozelj wrote:
> 
> > >     find . -type f -exec grep tisto_kar_isces '{}' \;
> >
> > To ti ne izpise imena datoteke, v kateri je iskani niz. Bolje je narediti,
> > kakor so ze nekateri drugi predlagali:
> >
> > grep "kar isces" `find . -type f -print`
> 
> Ja, imas prav. Pravzaprav sem svoj cas ze naletel tocno na ta problem,
> ampak se ob pisanju prejsnjega maila nisem na to spomnil. No, tudi tvoj
> predlog ima svoje slabosti. Tisti find namrec v splosnem zna vrniti zelo
> veliko datotek in je tisti seznam lahko prevelik za v ukazno vrstico.

Mah, predolga ukazna vrstica.. :) Tukaj mas se eno moznost, ce res imas
gazilion datotek v drevesu, ki jih rabis pregledat..

$ find . -name "*" -print | xargs grep "karkoli"

LP
Darko

> Poskusi to narediti na kaksnem news serverju (nad direktorijem z newsi
> seveda), pa bos videl. ;->
> 
> Ce se prav spomnim, sem to reseval na enega od sledecih nacinov
> 
>         find . -type f -print -exec grep tisto_kar_isces '{}' \;
> 
> kar bo za vsako datoteko izpisalo ime in nato vse vrstice z iskanim nizom.
> Morda bodo tudi najprej vrstice z iskanim nizom in na koncu ime datoteke.
> Druga moznost bi bila
> 
>         find . -type f -exec grep -l tisto_kar_isces '{}' \;
> 
> kar bo izpisalo le imena datotek, ki vsebujejo iskani niz, ne pa tudi
> vrstice z iskanim nizom iz danih datotek. Ce potrebujes tudi vrstice in je
> datotek ogromno, bi morda bila zanimiva kombinacija tega zadnjega in
> tvojega predloga:
> 
>         grep "kar isces" `find . -type f -exec grep -l "kar isces" '{}' \;`
> 
> Sprobal tega nisem, morda s kaksnimi narekovaji kaj ne stima.
> 
> Ales
> 
> --
> Ales Casar                  | InterNet: Casar na uni-mb.si, A.Casar na ieee.org,
> Faculty of EE & CS          |           A.Casar na s-gms.ms.edus.si
> University of Maribor       | DECnet:   RCUM::ALES
> SLOVENIA                    | WWW:      http://www.el.feri.uni-mb.si/~ales/




Dodatne informacije o seznamu Starilist