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

Re: Conf Datei einlesen und ausgeben



Hallo,

Am Sam, 25 Nov 2006, Peter Velan schrieb:
>am 2006-11-25 09:29 schrieb Ulrich Fürst:
[..]
>>> Ist beim egrep "[:space:]" identisch mit dem pcre "\s"?
>> 
>> Liest sich in der man-page so

Ja.

>So richtig explizit steht in meiner man-page nicht, dass [:space:] für
>whitespace steht, allerdings stellt sich mir die Frage, wozu eine
>Zeichenklasse [:space:] definieren, wenn sich dahinter nur ein einzelner
>'Blank' verbergen sollte.

Nein. Das kann auch ein Tab oder Newline sein. Siehe man 7 regex.

>> funktioniert aber (so?) nicht: 
>> 
>> $ egrep -v "^[:space:]*#|^[:space]*$" /etc/exim4/exim4.conf.template
>
>Was ich aber nun gar nicht verstehe:
>
>$ egrep -v "^[:space:]*#|^[:space:]*$" /etc/samba/smb.conf
>
>liefert ungerührt:
>
> # NETWORKING
>^
>+----- hier steht in smb.conf ein einziger "Blank" (= HEX-20)
>
>Das hätte doch die Regex "^[:space:]*#" wegputzen müssen!?

Nein. Das sind POSIX-Zeichenklassen, die gelten innerhalb von [].

==== man 7 regex ====
       Within a bracket expression, the name of a character class
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
       enclosed in `[:' and `:]' stands for the list of all char­
       acters  belonging to that class.
====

Also:

    egrep -v "^[[:space:]]*#|^[[:space:]]*$" /etc/samba/smb.conf

-dnh

-- 
Die drei Todfeinde des Programmieres:
Sonnenlicht, frische Luft und das unerträgliche Gebrüll der Vögel.



Reply to: