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: [EMAIL PROTECTED], [EMAIL PROTECTED],
Faculty of EE & CS          |           [EMAIL PROTECTED]
University of Maribor       | DECnet:   RCUM::ALES
SLOVENIA                    | WWW:      http://www.el.feri.uni-mb.si/~ales/

Одговори путем е-поште