Michael Hierweck <[EMAIL PROTECTED]> writes: > Hallo, > > ich bastle gerade an einem Shell-Skript, welches aus einer Datei > Datensätze selektieren soll. > > Zunächst werden alle Felder mit "" versehen und durch , getrennt. Danach > soll grep selektieren. > > #! /bin/sh > > cat $1 \ > |sed -e's/^/"/g' \ > |sed -e's/,/","/g' \ > |sed -e's/$/"/g' \ > |cut --delimiter "," -f 1,2,3,4,5,6,7,8,13 > |grep -i '"(Frau|Herrn)",".*",".*",".*",".*",".*",".*","Dortmund",".*"'
Hier ist schon ein Fehler, grep kennt "|" und "()" nur, wenn du entweder -E angibst oder egrep aufrufst.[1] Für den Rest solltest du ein Beispiel mit Testdaten zeigen, welches sich falsch verhält. Torsten Footnotes: [1] Genaugenommen verhält sich GNU grep noch etwas anders, siehe "REGULAR EXPRESSIONS" in dessen Manpage. -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)