PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : grep "." bedeutet ???



Mathew
24-08-2006, 18:43
Hallo zusammen,

in einem Schript sollte er pruefen, ob in der Eingabe des Benutzers ein Punkt vorhanden ist, also grep ".". Das klappte nicht, also versuchte ich grep '.' was auch kein Erfolg brachte.

Nun habe ich grep "\." verwendet und es funktioniert :eek:

Wenn der . ein besonderes Zeichen ist, warum nimmt er das dann auch im ' :confused:

Danke.

michael.sprick
24-08-2006, 19:22
Bei regulären Ausdrücken steht der Punkt für ein beliebiges Zeichen. Es spielt dabei keine Rolle, ob Du das Pattern nun in "..." oder '...' fasst.

Vermutlich verwechselst Du das mit Variableninterpolation:



$var1 = "Hallo Welt";
$var2 = 'Text: $var'; # Text $var
$var3 = "Text: $var"; # Text Hallo Welt

coolpix
24-08-2006, 19:23
Hi,

grep benutzt reguläre Ausdrücke (aber nur eingeschränkt, für die volle Unterstützung von RegExps musst du egrep benutzen.

Der Punkt passt auf jedes einzelne, beliebige Zeichen. Und mit einem Backslash wird der halt escaped. Und wenn du einzelne Gänsefüsschen benutzt, werden die nur zum regulären Ausdruck gezählt.

mfG

//Edit: War wieder einer einmal schneller ;-). Vielleicht hilft dir 'man grep' auch weiter ;)

Romanday
26-08-2006, 07:03
//Edit: War wieder einer einmal schneller ;-). Vielleicht hilft dir 'man grep' auch weiter ;)


Du kannst auch am Ende der Page auf:

<Dieses Forum abonnieren>

klicken. Da hast Du eine bessere Chance der Erste zu sein.:D