[GastForen Betriebsysteme und Dienste Apple (Hard- und Software) grep, ich steh auf dem Schlauch _:)

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

grep, ich steh auf dem Schlauch _:)

gargantua
Beiträge gesamt: 6

5. Jun 2012, 12:24
Beitrag # 1 von 5
Bewertung:
(1915 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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?

Grüsse, Ronald
---
X

grep, ich steh auf dem Schlauch _:)

Thomas Richard
Beiträge gesamt: 19339

5. Jun 2012, 12:48
Beitrag # 2 von 5
Beitrag ID: #496067
Bewertung:
(1900 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Runde gegen eckige Klammern tauschen?
Und die Leerzeichen um die Pipe löschen?

also
Code
--regexp="[png|.jpg]" 



als Antwort auf: [#496063]
(Dieser Beitrag wurde von Thomas Richard am 5. Jun 2012, 12:50 geändert)

grep, ich steh auf dem Schlauch _:)

gargantua
Beiträge gesamt: 6

6. Jun 2012, 05:28
Beitrag # 3 von 5
Beitrag ID: #496092
Bewertung:
(1832 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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 :(

Gruss, Ronald
---


als Antwort auf: [#496067]

grep, ich steh auf dem Schlauch _:)

Martin Fischer
Beiträge gesamt: 12783

6. Jun 2012, 08:03
Beitrag # 4 von 5
Beitrag ID: #496095
Bewertung:
(1806 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ronald,

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:

Code
 grep -a -e='\.jpg\|\.png' /Users/ronny/Desktop/TextFile.text > /Users/ronny/Desktop/Result.text 



als Antwort auf: [#496092]
(Dieser Beitrag wurde von Martin Fischer am 6. Jun 2012, 08:06 geändert)

grep, ich steh auf dem Schlauch _:)

gargantua
Beiträge gesamt: 6

6. Jun 2012, 09:42
Beitrag # 5 von 5
Beitrag ID: #496100
Bewertung:
(1774 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das escapen des OR Zeichens war die richtige Idee.
Jetzt klappt es auch hier.

Vielen Dank für die Tipps.

Gruss, Ronald
---


als Antwort auf: [#496095]
(Dieser Beitrag wurde von gargantua am 6. Jun 2012, 09:43 geändert)
X