[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: find Befehl um Inhalt von Datei zu suchen



Peter Wiersig <peter@friesenpeter.de> (Mo 02 Feb 2009 16:17:54 CET):
> On Mon, Feb 02, 2009 at 10:34:33AM +0100, Ansgar Esztermann wrote:
> >
> > On Jan 28, 2009, at 14:36 , Jens Schüßler wrote:
> >
> >>
> >> grep -r [muster] --include=*.pdf
> >
> > Täusche ich mich, oder müßte man den * maskieren, damit er nicht von der 
> > Shell ausgewertet wird?
> 
> Nicht wenn Option und Parameter durch das = getrennt werden.
> 
> s. "echo --test=*" und  "echo --test *"

Doch, will man formal korrekt handeln, muß(!) das maskiert sein. Sicher
wird im o.a. Fall das als --include=*.pdf auch meistens durchgehen.

Problematisch wird es, wenn Du im Arbeitsverzeichnis eine Datei hast, die zufällig
"--include=abc.pdf" heißt. Dann wird grep genau nur noch rekursiv nach
"abc.pdf" suchen, was meistens nicht das ist, was Du willst. Blöd ist,
daß man diesen Fehler sehr selten findet, weil es kein Fehler aus Sicht
der Shell oder von Grep ist, die lassen das einfach durchgehen, weil sie
hier gewollt und nicht-gewollt nicht unterscheiden können.

    touch ./--test=abc

    echo --test=*
    echo --test=\*


    Best regards from Atlanta, GA (currently)
    Viele Grüße aus z.Z. Atlanta
    Heiko Schlittermann
-- 
 SCHLITTERMANN.de ---------------------------- internet & unix support -
 Heiko Schlittermann HS12-RIPE -----------------------------------------
 gnupg encrypted messages are welcome - key ID: 48D0359B ---------------
 gnupg fingerprint: 3061 CFBF 2D88 F034 E8D2  7E92 EE4E AC98 48D0 359B -

Attachment: signature.asc
Description: Digital signature


Reply to: