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

Re: Frage zu grep



On Thursday 14 September 2006 11:30, Sascha Vogt wrote:
> Gebhard Dettmar schrieb:
> > On Wednesday 13 September 2006 11:15, Sascha Vogt wrote:
> >> Gebhard Dettmar schrieb:
> >>> [...]
> >>
> >> mach doch mal ein grep \[p]s :) und vergleichs mit grep [p]s
> >
> > Danke, das war der rettende Hinweis (bin nicht drauf gekommen, was "ps
> > w" aus "grep [p]s" macht): es ist also die schließende eckige Klammer,
> > die den Match verhindert, richtig?
>
> Und die öffnende... Das Problem ist, wenn die schließende Klammer auch

Dann verstehe ichs immer noch nicht: bei "ps w |grep [p]s" läuft m.M. 
folgendes ab: gematcht werden soll (bzw., s. OP, soll nicht) der Prozess 
grep [p]s. Das wird also genau so als Literalstring von ps w ausgegeben - 
grep [p]s sucht natürlich ein p, gefolgt von einem s. Beim String [p]s 
fängt er, wie immer, links an - das ist öffnende Klammer = Mismatch. Also 
geht er eins nach rechts, das ist p = Match. Da da keine Quantifizierer 
oder "beliebiges Zeichen-Metazeichen" standen, müsste jetzt ein s kommen, 
stattdessen steht da aber die schließende Klammer, also wird p, gefolgt 
von s nicht gefunden, also nicht ausgegeben.

> noch escaped wird, dann hast du ja wieder ein \ in deiner ps -w
> Ausgabe... Henne-Ei Problem ;) Das zu matchen hab ich auf die Schnelle
> nicht hinbekommen (eigentlich sollte m.E. grep "\[p\\+\]s"
> funktionieren, tuts aber nicht). Da die öffnende Klammer ja schon

Nehme an, wegen "+" als Literal. Du willst es doch als Quantifizierer, 
oder?
Ich verstehe nicht, was du damit willst (ich lese [p\\+\] so: p, dann 
erster \ als Maskierung des zweiten \, das ein oder mehrere Male (+), dann 
\ als Maskierung für schließende Klammer. Das "+\"  darin verstehe ich 
nicht.
Was geht, ist ps w |grep \[p\\]s sowie natürlich \[p\\+]s (Für ps w 
natürlich nur)
Ich kriege es aber grad auch nicht gebacken, die Ausgabe von 
echo "\[p\\+\]s" = \[p\+\]s mit grep zu matchen ;-(
Gruß Gebhard

-- 
Q:	Are we not men?
A:	We are Vaxen.



Reply to: