David Haller schrieb:
Hallo,
Am Mon, 08 Feb 2010, Lentes, Bernd schrieb:
1. grep [^#] bedeutet _nicht_, "zeige alle Zeilen, die kein # enthalten", _sondern_ "zeige alle Zeilen, die ein anderes Zeichen als # enthalten" ?
Ja.
2. "[^#] findet also alle Zeilen, die entweder mit irgendwas beginnen "^" (daher auch nicht die leeren Zeilen) oder nen "#" enthalten."
Nein.
Stimmt insofern nicht, als daß das ^ hier nichts mit dem Zeilenanfang zu tun hat.
Genau. Negation der Zeichenklasse.
Danke für die klare Antwort.
Tatsächlich äquivalent sind:
grep -v '^#' Datei ### zeige keine Zeilen die mit # beginnen und grep '^[^#]' Datei ### zeige alle Zeilen, die nicht mit # beginnen
Tut mir leid, Dich enttäuschen zu müssen: pc53082:~ # grep -v '^#' greptest 111 1111 11 # ein Kommentar hinten dran pc53082:~ # pc53082:~ # grep '^[^#]' greptest 111 1111 11 # ein Kommentar hinten dran pc53082:~ # "grep -v '^#'" zeigt alle Zeilen an, die nicht mit # anfangen. Eine Leerzeile fängt nicht mit # an. "grep '^[^#]'" zeigt alle Zeilen an, die mit einem anderen Zeichen als # anfangen. Eine Leerzeile fängt nicht mit einem anderen Zeichen als # an, sondern mit überhaupt keinem Zeichen. Und wenn das jetzt so nicht stimmt, habe ich in den letzten Stunden gar nichts gelernt und bin todtraurig. Schnief. Bernd-- 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