daudau
Goto Top

Keine Umleitung bei Suche mit grep unter Cygwin nach doppeltem Anführungszeichen

Hallo,
ich benutze Cygwin 1.123 unter Windows XP (SP3) und wollte was ganz einfaches machen ( face-wink ):

Aus Visual Basic 6 Dateien (Formulare und Module) wollte ich alle Zeilen extrahieren, die eine Bezeichnung enthalten (Caption ; Text ). Anschließend wollte ich alle Zeilen extrahieren, die ein Anführungszeichen (also wirklich Text) enthalten.
Die Dateien befinden sich lokal auf meinem Rechner.
Mit Hilfe von egrep in der Eingabeaufforderung hat das herausziehen von Caption- und Text-Zeilen auch gut geklappt:

egrep "Caption|Text" *.frm *.bas > Caption-u-Text.txt

Wenn ich jetzt aber in der Eingabeaufforderung folgendes eingebe (und damit Zeilen auswählen, in denen wirklich Text vorkommt):

grep "\"" Caption-u-Text.txt > Echter-Text.txt

Dann erscheint bei mir als Fehlermeldung

grep: >: No such file or directory
grep: Echter-Text.txt: No such file or directory

D.h. die Shell/die Eingabeaufforderung erkennt das Umleitungszeichen nicht mehr als solches, sondern denkt, dass jetzt noch ein weiterer Dateiname kommt.

Auch wenn ich das Herausziehen ohne Umweg über eine Zwischendatei mache und verschiedene Arten des Quotierens ausprobiere, passiert das gleiche (Fehlermeldung und die Datei Caption.txt wird nicht einmal angelegt):

grep Caption *.frm *.bas | grep '"' > Caption.txt
grep: >: No such file or directory
grep: Caption.txt: No such file or directory

grep Caption *.frm *.bas | grep "\"" > Caption.txt
grep: >: No such file or directory
grep: Caption.txt: No such file or directory

grep Caption *.frm *.bas | grep " > Caption.txt

Hier passiert überhaupt nichts, keine Meldung und auch keine Erstellung der Datei Caption.txt


Ich habe ca. zwei, drei Stunden im Netz auf Deutsch und auf Englisch gesucht, aber außer allgemeinen Anleitungen zum Gebrauch des Umleitungszeichens > und verschiedener Probleme beim Quotieren habe ich nichts gefunden.

Muß man irgend eine Umgebungsvariable setzen oder mache ich beim Quotieren immer noch was falsch?

Content-ID: 139505

Url: https://administrator.de/forum/keine-umleitung-bei-suche-mit-grep-unter-cygwin-nach-doppeltem-anfuehrungszeichen-139505.html

Ausgedruckt am: 25.12.2024 um 14:12 Uhr

DauDau
DauDau 30.03.2010 um 14:56:41 Uhr
Goto Top
Hinzufügen muß ich noch, dass das reine Herausziehen mit grep ohne Umleitung anstandslos geklappt hat.
bastla
bastla 30.03.2010 um 15:01:14 Uhr
Goto Top
Hallo DauDau und willkommen im Forum!

Versuch es so:
 >Echter-Text.txt grep "\"" Caption-u-Text.txt
oder, da die Anführungszeichen ja hoffentlich paarweise vorkommen:
 >Echter-Text.txt grep "\".*\"" Caption-u-Text.txt
Grüße
bastla
DauDau
DauDau 30.03.2010 um 15:24:57 Uhr
Goto Top
Hallo bastla,
fantastisch! Das war's:
Die Ausgabedatei am Anfang mit Umleitungszeichen.

Ich beschäftige mich zwar schon eine Weile mit Shellprogrammierung, aber man lernt trotzdem nie aus.

Danke!