[ 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