-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Halo zusammen, ich hatte gerade bezueglich einer Mail in suse-ml etwas probiert und komme direkt ins Gruebeln: Angenommen in Datei test.txt stehen jeweils am Zeilenanfang die folgenden Zeichen: 1 2 3 4 5 6 7 8 9 0 # Test1: grep -v [1,3,5,9,\#] test.txt liefert das richtige Ergebnis! 1 3 5 9 # werden gefiltert Test2: grep -v [1,2,3,5,9,\#] test.txt geht voll in die Hosen! Es wird lediglich die Zeile mit der 2 gefiltert. Welche Erklaerung gibt es hierfuer? MfG Th. Moritz - -- Wenn Du denkst, Du bist unersetzbar, dann schau auf den Friedhof, der ist voll davon! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFADaH2PBTBVZNAOL4RAv3AAJ4t8BfOsjELsTtye8V+bmOsQniP8ACg1B9x uiirnDsOK8FelbL+0eujj4E= =el43 -----END PGP SIGNATURE-----
Hallo, Am Tue, 20 Jan 2004, Thomas Moritz schrieb:
ich hatte gerade bezueglich einer Mail in suse-ml etwas probiert und komme direkt ins Gruebeln: Angenommen in Datei test.txt stehen jeweils am Zeilenanfang die folgenden Zeichen: 1 2 3 4 5 6 7 8 9 0 #
Test1: grep -v [1,3,5,9,\#] test.txt
Wozu hast du hier mehrere Kommata?
liefert das richtige Ergebnis! 1 3 5 9 # werden gefiltert
Test2: grep -v [1,2,3,5,9,\#] test.txt geht voll in die Hosen! Es wird lediglich die Zeile mit der 2 gefiltert. Welche Erklaerung gibt es hierfuer?
Keine. Hier klappts. $ { seq 0 9; echo "#"; } | grep -v [1,3,5,9,\#] | xargs echo 0 2 4 6 7 8 $ { seq 0 9; echo "#"; } | grep -v [1,2,3,5,9,\#] | xargs echo 0 4 6 7 8 -dnh -- If human beings don't keep exercising their lips, he thought, their mouths probably seize up. After a few months' consideration and observation he abandonded this theory in favor of a new one. If they don't keep on exercising their lips, he thought, their brains start working. -- THHGTTG
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am Dienstag, 20. Januar 2004 23:03 schrieb David Haller: Hallo David,
Am Tue, 20 Jan 2004, Thomas Moritz schrieb:
ich hatte gerade bezueglich einer Mail in suse-ml etwas probiert und komme direkt ins Gruebeln: Angenommen in Datei test.txt stehen jeweils am Zeilenanfang die folgenden Zeichen: 1 2 3 4 5 6 7 8 9 0 #
Test1: grep -v [1,3,5,9,\#] test.txt
Wozu hast du hier mehrere Kommata?
Die hatte ich mir mal zur besseren Uebersicht angewoehnt:-) [1-3,a-e,y,z] Spielt in meinem folgenden Beispiel auch keine funktionelle Rolle!
$ { seq 0 9; echo "#"; } | grep -v [1,3,5,9,\#] | xargs echo 0 2 4 6 7 8 $ { seq 0 9; echo "#"; } | grep -v [1,2,3,5,9,\#] | xargs echo 0 4 6 7 8
zwei funktionierende Beispiele (mit Komma und ohne) { seq 0 9; echo "#"; } | grep -v [1,3,5,9,\#] | xargs echo 0 2 4 6 7 8 { seq 0 9; echo "#"; } | grep -v [1359\#] | xargs echo 0 2 4 6 7 8 jetzt kommt die 2 ins Spiel - igitt { seq 0 9; echo "#"; } | grep -v [12359\#] | xargs echo 0 1 3 4 5 6 7 8 9 # Ich krieg nen Krampf. Steht hier ein Bit im grep quer? Getestet habe ich bereits in der Text-Konsole und der X-Konsole! MfG Th. Moritz - -- Betrachte das Minimum als Basis und schon bist Du schlau, reich, huebsch ... und alt. (c)ThM. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFADjexPBTBVZNAOL4RAgElAKC1vDvDkLHShTnSZEqNwy3syRTxfwCeOylU IyoqFj3GDHRqrq7vNEiC6Uk= =gI1w -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am Mittwoch, 21. Januar 2004 09:26 schrieb Thomas Moritz:
zwei funktionierende Beispiele (mit Komma und ohne) { seq 0 9; echo "#"; } | grep -v [1,3,5,9,\#] | xargs echo 0 2 4 6 7 8 { seq 0 9; echo "#"; } | grep -v [1359\#] | xargs echo 0 2 4 6 7 8
jetzt kommt die 2 ins Spiel - igitt { seq 0 9; echo "#"; } | grep -v [12359\#] | xargs echo 0 1 3 4 5 6 7 8 9 #
So, ich habe jetzt Knoppix auf der Kiste gebootet und grep funktioniert. Auf allen anderen Kisten laeuft der grep auch vernuenftig. Also habe ich grep neu installiert - hilft nicht! Koennte es mit dem aktuellen SuSE-Kernel: 2.4.21-166-default zusammenhaengen? Prozessor ist ein P4 2,0 GHz. Koennte jemand mit diesem Kernel mal obiges Szenario testen? MfG Th. Moritz - -- Betrachte das Minimum als Basis und schon bist Du schlau, reich, huebsch ... und alt. (c)ThM. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFADkVBPBTBVZNAOL4RAuMiAKCut1Ubob0B/b/eGMsjm1jmNN48fgCg41gc AiE8UDr/WH6J2Il7bUkfap8= =/DOV -----END PGP SIGNATURE-----
Hallo, sorry erstmal für die direkte Antwort... der Webmailer kann nicht richtig auf die Liste antworten :(. Daher nochmal an die Liste....
Angenommen in Datei test.txt stehen jeweils am Zeilenanfang die folgenden Zeichen: 1 2 3 4 5 6 7 8 9 0 #
Test1: grep -v [1,3,5,9,\#] test.txt liefert das richtige Ergebnis! 1 3 5 9 # werden gefiltert
Test2: grep -v [1,2,3,5,9,\#] test.txt geht voll in die Hosen! Es wird lediglich die Zeile mit der 2 gefiltert. Welche Erklaerung gibt es hierfuer?
Ich weiss nicht, was für einen grep Du benutzt hast oder was Du wirklich getippt hast, aber bei mir funktioniert das völlig erwartungsgemäß. ;) Gruß, Michael
On Tuesday 20 January 2004 23:29, Michael Heck wrote:
Hallo,
sorry erstmal für die direkte Antwort... der Webmailer kann nicht richtig auf die Liste antworten :(. Daher nochmal an die Liste....
Angenommen in Datei test.txt stehen jeweils am Zeilenanfang die folgenden Zeichen: 1 2 3 4 5 6 7 8 9 0 #
Test1: grep -v [1,3,5,9,\#] test.txt liefert das richtige Ergebnis! 1 3 5 9 # werden gefiltert
Test2: grep -v [1,2,3,5,9,\#] test.txt geht voll in die Hosen! Es wird lediglich die Zeile mit der 2 gefiltert. Welche Erklaerung gibt es hierfuer?
Ich weiss nicht, was für einen grep Du benutzt hast oder was Du wirklich getippt hast, aber bei mir funktioniert das völlig erwartungsgemäß. ;)
dito. Gruss, Roland
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am Dienstag, 20. Januar 2004 23:29 schrieb Michael Heck: Hallo Michael,
Angenommen in Datei test.txt stehen jeweils am Zeilenanfang die folgenden Zeichen: 1 2 3 4 5 6 7 8 9 0 #
Test1: grep -v [1,3,5,9,\#] test.txt liefert das richtige Ergebnis! 1 3 5 9 # werden gefiltert
Test2: grep -v [1,2,3,5,9,\#] test.txt geht voll in die Hosen! Es wird lediglich die Zeile mit der 2 gefiltert. Welche Erklaerung gibt es hierfuer?
Ich weiss nicht, was für einen grep Du benutzt hast oder was Du wirklich getippt hast, aber bei mir funktioniert das völlig erwartungsgemäß. ;)
Was hast Du denn fuer einen grep und welche shell? Ich benutze hier: grep (GNU grep) 2.5.1 GNU bash, version 2.05b.0(1)-release (i586-suse-linux) und da scheint es ein Problem mit der 2 in Verbindung mit grep -v zu geben. Soeben nochmals getestet: (mit obigem File test.txt) grep -v [4,6] test.txt filtert 4 und 6 (wie erwartet) grep -v [2,4,6] test.txt filtert lediglich die 2, der Rest wird ignoriert! Fiptehler im test.txt ausgeschlossen:-) MfG Th. Moritz - -- Geisterfahrer sind oft sehr entgegenkommend! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFADbXuPBTBVZNAOL4RAiIPAJ9e9Pb/s7g37HaZ4UxUSBlc7a2HkACfVt8R AECBS0pYNLIi9O52hVxFO98= =obsb -----END PGP SIGNATURE-----
Hallo, Am Wed, 21 Jan 2004, Thomas Moritz schrieb:
grep -v [2,4,6] test.txt filtert lediglich die 2, der Rest wird ignoriert!
man 7 regex Was du eigentlich machen willst ist: grep -v '[246]' test.txt Bitte damit nochmal testen. -dn'*tsk*'h -- ASR is *not* a social froup... it's an anti-social one. -- Thorfinn
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am Mittwoch, 21. Januar 2004 02:54 schrieb David Haller: Hallo David,
Am Wed, 21 Jan 2004, Thomas Moritz schrieb:
grep -v [2,4,6] test.txt filtert lediglich die 2, der Rest wird ignoriert!
man 7 regex Was du eigentlich machen willst ist: grep -v '[246]' test.txt
Tja, richtig lesen und quoten haette gleich zum Ziel gefuehrt:-) Das war dann wohl ein Eigentor. Sorry und danke! MfG Th. Moritz - -- Betrachte das Minimum als Basis und schon bist Du schlau, reich, huebsch ... und alt. (c)ThM. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFADoYOPBTBVZNAOL4RAvwEAJ9mZbkZ/LxGdgRJdNYdU2L55qjWygCfVRFz isVOoiT/5tspKHouRpyRXts= =9F5A -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am Dienstag, 20. Januar 2004 22:47 schrieb Thomas Moritz: Hallo zusammen,
ich hatte gerade bezueglich einer Mail in suse-ml etwas probiert und komme direkt ins Gruebeln: Angenommen in Datei test.txt stehen jeweils am Zeilenanfang die folgenden Zeichen: 1 2 3 4 5 6 7 8 9 0 #
Test1: grep -v [1,3,5,9,\#] test.txt liefert das richtige Ergebnis! 1 3 5 9 # werden gefiltert
Test2: grep -v [1,2,3,5,9,\#] test.txt geht voll in die Hosen! Es wird lediglich die Zeile mit der 2 gefiltert. Welche Erklaerung gibt es hierfuer?
Nach einer Umfrage in der SuSE-ML kam Peter Wiersig auf die Idee, ich habe eine Datei namens 2 im aktuellen Verzeichnis. Genau das war der Grund fuer die fehlerhafte Ausgabe! Danke allen fuer die Geduld:-) MfG Th. Moritz - -- Man ist so alt wie man sich fühlt, aber niemals so wichtig! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFADmubPBTBVZNAOL4RApFxAJ9Xi+gr4lVAX6Q0YbgR6Ig5qc+8GwCfbb+e UYkclCeInwNKzSJzSVUmaVw= =7pgf -----END PGP SIGNATURE-----
participants (4)
-
David Haller
-
Michael Heck
-
Roland Hoesch
-
Thomas Moritz