[ LUGOS ] grep

Ales Casar casar na uni-mb.si
Pet Jan 15 12:16:18 CET 1999


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.
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