Hallo Leute, ich komm grad nicht drauf, warum folgendes nicht funktioniert: grep text.*[^(ausschluss)] Es sollen alle Zeilen gefunden werden, die "text" enthalten, es sei denn, es taucht irgendwo danach "ausschluss" auf. Bitte um Erleuchtung... -- Andre Tann -- 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
Hallo, Am Don, 09 Sep 2010, Andre Tann schrieb:
ich komm grad nicht drauf, warum folgendes nicht funktioniert:
grep text.*[^(ausschluss)]
Es sollen alle Zeilen gefunden werden, die "text" enthalten, es sei denn, es taucht irgendwo danach "ausschluss" auf.
() haben in BREs generell keine Sonderbedeutung (siehe man 7 regex). Wenn, dann m-Aüßtest du '[^\(ausschluss\)]' verwenden.-b Und du hast den generellen Denkfehler, da-Aß schon das .* immer bis zum-b Zeilenende "passt". Also auch wenn dein [^()] so verarbeitet werden w-Aürde, wie du willst, würde schon das .* bis zum Zeilenende passen,-b und auf die leere RE am Zeilenende passt dein [^()] ebenfalls. Deswegen hilft auch weder ein pcregrep 'text.*(?!ausschluss)' noch pcregrep 'text.*?(?!ausschluss)' denn auch da passt das (?!) auf's Zeilenende. Dein Problem ist also mehr das .* als das ausschliessen. Siehe 'man 7 regex' und 'man perlre'. Mach folgendes: grep text | grep -v 'ausschluss' oder wenn's darauf ankommt, da-Aß 'ausschluss' nur nach 'text' wegsoll-b (aber vor 'text' auftreten darf): grep text | grep -v 'text.*ausschluss' Oder du kannst noch genauer spezifizieren, ob, und wenn ja was, nach 'ausschluss' noch folgen kann/darf. Mit PCREs sollte sich evtl. was basteln lassen, aber dazu bin ich jetzt zu m-Aüde ("Nachtschicht" ;)-b HTH, -dnh -- Disclaimer - These opiini^H^H damn! ^H^H ^Q ^[ .. :w :q :wq :wq! ^d X^? exit X Q ^C ^c ^? :quitbye CtrlAltDel ~~q :~q logout save/quit :!QUIT ^[zz ^[ZZZZZZ ^H man vi ^@ ^L ^[c ^# ^E ^X ^I ^T ? help helpquit ^D ^d man help ^C exit ?Quit ?q CtrlShftDel "Hey, what does this button d..." -- 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
Servus David, sag, sind Dir die Umlaute kaputt gegangen...? David Haller, Donnerstag 09 September 2010:
Und du hast den generellen Denkfehler, da-Aß schon das .* immer bis zum-b Zeilenende "passt". Also auch wenn dein [^()] so verarbeitet werden w-Aürde, wie du willst, würde schon das .* bis zum Zeilenende passen,-b und auf die leere RE am Zeilenende passt dein [^()] ebenfalls.
Jo, stimmt, da hast Du recht.
Mach folgendes:
grep text | grep -v 'ausschluss'
oder wenn's darauf ankommt, da-Aß 'ausschluss' nur nach 'text' wegsoll-b (aber vor 'text' auftreten darf):
grep text | grep -v 'text.*ausschluss'
Dies wäre dann wohl die richtige Variante, denn ausschluss soll nur nach text weg, nicht davor. Mir gefällt nur immer die Verkettung zweier greps nicht, ich versuche immer, alles in einen Ausdruck zu packen. -- Andre Tann -- 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
Hi David, Am Donnerstag 09 September 2010, 13:19:07 glaubte David Haller zu wissen:
Und du hast den generellen Denkfehler, da-Aß schon das .* immer bis zum-b
Erzieh mal deinen emacs richtig. Das ist ja grausam. ;-) flo -- Oberfeldwebel:" Gefreiter Müller wenn ihnen jetzt die Eier explodieren würden dann hätten Sie keine Hände mehr." Gefreiter Müller:" Wenn mir die Eier explodieren brauche ich auch keine Hände mehr" -- 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
Hallo, Am Don, 09 Sep 2010, Florian Gross schrieb:
Am Donnerstag 09 September 2010, 13:19:07 glaubte David Haller zu wissen:
Und du hast den generellen Denkfehler, da-Aß schon das .* immer bis zum-b Erzieh mal deinen emacs richtig. Das ist ja grausam. ;-)
Macht er halt nur sporadisch ... Und die Kiste hier soll ja eh ausgemustert werden, nur läuft der Ersatz leider noch nicht. -dnh --
<logic mode="patent office"> Validator error in line 1: Contradiction in terms. -- C. Faerber, A. Krey -- 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
Am Donnerstag 09 September 2010, 18:07:03 glaubte Florian 'INGRID' Gross zu wissen:
Erzieh mal deinen emacs richtig. Das ist ja grausam. ;-)
und ich erzieh meinen KMail und mich. Sollte ne PM werden. Sorry. flo --
während der 8088 bootet. während in Ösiland nach gebootet wird, wird in ... ... Sante Juché schon die geile Nachbarin vernascht? [Michael Schulz und Martin Leidig in suse-talk] -- 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
Am 09.09.2010 um 21:47 Uhr schrieb Florian Gross:
flo --
während der 8088 bootet. So einen habe ich auch noch und funktioniert zuverlässig. Allerdings leider ohne Festplatte (falls jemand einen Controller hat, 8bit mit 1/3 Bauhöhe ...).
während in Ösiland nach gebootet wird, wird in ... ... Sante Juché schon die geile Nachbarin vernascht? [Michael Schulz und Martin Leidig in suse-talk]
cu Peter PS: Sorry für OT ;-) -- 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
Am Donnerstag 9 September 10 schrieb Andre Tann:
Hallo Leute,
ich komm grad nicht drauf, warum folgendes nicht funktioniert:
grep text.*[^(ausschluss)]
Es sollen alle Zeilen gefunden werden, die "text" enthalten, es sei denn, es taucht irgendwo danach "ausschluss" auf.
Bitte um Erleuchtung... Naja, vielleicht ;-)
Ich denke, es muß grep sein -E Die Klammern ( und ) liefern bei mir Fehlermeldungen, ohne sie wird der String einfach nur bis vor einen der Buchstaben in der Buchstabenliste [^ausschluss], was gleichbedeutend ist mit der Buchstabenliste [^achlus] gematcht, aber trotzdem ausgegeben. -- Herzliche Grüße! Rolf Muth Meine Adressen duerfen nicht fuer Werbung verwendet werden! PGP Public Key fuer "Rolf Muth (inet)" auf http://pgp.mit.edu/ Analoge Uhr (clock): http://www.heise.de/software/download/analoge_uhr/61872 -- 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
participants (5)
-
Andre Tann
-
David Haller
-
Florian Gross
-
Peter Geerds
-
R M