On Monday 08 February 2010 11:50:41 Lentes, Bernd wrote:
Marko Känig schrieb:
Also ich würde sagen, dass der Ausdruck [^#] bedeutet, dass jedes Zeichen gefunden wird, welches kein # ist.
Will man den Zeilenanfang haben, müsste man sowas hier machen:
^[^#]
Dieser Ausdruck findet Zeilen, die nicht mit einem # beginnen.
Hallo Marko,
Genau das hat bei mir nicht geklappt. Dieser Aufruf hat die Leerzeilen unterschlagen. Ich kriege immer mehr den Eindruck, daß die brackets [] nür für Bereiche zu nehmen sind, und nicht für ein einzelnes Zeichen.
[abcd] bezeichnet *ein* Zeichen aus der genannten Menge. Das Zeilenende ist *kein* Zeichen. ^[^#] ebenso wie ^. passen daher nicht auf eine Leerzeile. Hier ein Beispiel: Als erstes die Daten: $ cat <<<"$x" 1 #2 # 4 5 Hier das, was Du wahrscheinlich erreichen willst. Alle Zeilen außer denen mit '#' am Anfang bleiben erhalten (geht übrigens besser mit grep -v) Zum Verständnis: Suche nach Zeilen, die mit einem Zeichen außer # oder mit dem Zeilenende beginnen. $ grep '^\([^#]\|$\)' <<<"$x" 1 4 5 Torsten -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org