Hallo ihr Experten, ich habe eine Datei, aus der ich alle Zeilen haben möchte die ".png" enthalten und das mache ich so: 1. grep --text '.png' /Users/ronny/Desktop/CASAblanca.text > /Users/ronny/Desktop/Result.text Soweit perfekt.
Jetzt wollte ich das ganze etwas erweitern. Es sollen auch die Zeilen gefunden werden, die ".jpg" enthalten.
Neben allen möglichen Varianten habe ich zuletzt dieses probiert: 2. grep --text --regexp="(.png | .jpg)" /Users/ronny/DEV/0010-CASAblancaV12/CASAblanca.4dbase/CASAblanca.4DB > /Users/ronny/Desktop/Result.text Aber die Zieldatei bleibt leer. Ganz falsch scheint das nicht zu sein.
Versuche ich nämlich dies: 3. grep --text --regexp=".png" /Users/ronny/DEV/0010-CASAblancaV12/CASAblanca.4dbase/CASAblanca.4DB > /Users/ronny/Desktop/Result.text Dann erhalte ich das gleiche Ergebnis wie in Versuch 1. Mein Regexp in 2. scheint falsch zu sein.
Hat jemand einen Tip? Am besten wäre es, wenn ich alle Grafik Extensions erhalten würde, aber das wird wohl nicht gehen, oder?
Auf alle Fälle ist die Zieldatei jetzt nicht mehr leer :)
Aber es dauert sehr lange bis er fertig ist. Nach einer Viertelstunde habe ich abgebrochen. Es scheint so als ob jetzt alles in meiner Zieldatei ist, was auch in meiner Quelldatei (99MB) ist. Das sollte nicht sein.
Folgendes habe ich probiert (ein Auszug): in der Zieldatei ist das erwünschte drin 1. grep --text --regexp=".png" /Users/ronny/Desktop/TextFile.text > /Users/ronny/Desktop/Result.text
in der Zieldatei ist Nicht das erwünschte drin 2. grep --text --regexp="[jpg|.png]" /Users/ronny/Desktop/TextFile.text > /Users/ronny/Desktop/Result.text 3. grep --text --regexp="\.jpg|\.png" /Users/ronny/Desktop/TextFile.text > /Users/ronny/Desktop/Result.text
Im Regextester habe ich die Variante 3. mit Erfolg getestet, aber irgendwie :(
mit den eckigen Klammern definierst Du Zeichenklassen, d.h. gesucht werden alle Zeichen, die in eckigen Klammern stehen. 'L[au]nge' findet 'Lange' und 'Lunge'.
Alternative Zeichenmuster werden – richtig - mit der Pipe getrennt: '\.jpg|\.png'.
Mit GREP im Terminal kenne ich mich nicht so gut aus. Aber ich hab's mal mit einer escapten Pipe \| versucht und es scheint zu funktionieren:
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 6. Jun 2012, 08:06 geändert)