D-Styles Geschrieben 20. Oktober 2004 Teilen Geschrieben 20. Oktober 2004 hallo, kann ich in awk ein ' oder " als trennzeichen angeben ? angenommen ich habe folgende datei : test.dat müller;meier;schmidt anton;berta;theodor er;sie;es dann liefert mir : gawk ' BEGIN {FS=";"} {print $1 "\t" $2 "\t" $3}' test.dat folgende Ausgabe : müller meier schmidt anton berta theodor er sie es Wenn die Datei test.dat durch Hochkomma bzw. Anführungsstriche getrennt ist und ich das jeweilige zeichen als trennzeichen angebe (z.b. FS=" ' ") erwartet gawk weitere eingaben, nachdem ich den befehl ausführen möchte. wie kann ich denn ein ' bzw. " als trennzeichen angeben ? danke schon einmal im voraus mfg mike Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
*I C Q* Geschrieben 20. Oktober 2004 Teilen Geschrieben 20. Oktober 2004 wie kann ich denn ein ' bzw. " als trennzeichen angeben ? Versuch's mal, indem Du das ' bzw das " escapest, also so: gawk ' BEGIN {FS="\""} {print $1 "\t" $2 "\t" $3}' test.dat ICQ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
D-Styles Geschrieben 20. Oktober 2004 Autor Teilen Geschrieben 20. Oktober 2004 suppi :-)) mike@linux:~/diff> less test.dat a"b"c d"e"f g"h"i mike@linux:~/diff> gawk 'BEGIN {FS="\""} {print $1 "\t" $2 "\t" $3}' test.dat a b c d e f g h i mike@linux:~/diff> Mit dem Hochkomma funktioniert es allerdings noch nicht mike@linux:~/diff> less test.dat a'b'c d'e'f g'h'i mike@linux:~/diff> gawk 'BEGIN {FS="\'"} {print $1 "\t" $2 "\t" $3}' test.dat > mike@linux:~/diff> in der vorletzten Zeile breche ich mit strg+c ab. ich kann den dateinamen test.dat auch nicht mit der tabulatortaste vervollständigen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shutdown-Frnow Geschrieben 20. Oktober 2004 Teilen Geschrieben 20. Oktober 2004 ja, dein kommando ist nicht vollständig. da du das ' nicht mit dem " maskieren kannst weil es "mächtiger" ist. deshalb hast du 3 ' in deinem befehl, dann denkt er es fehlt zum schluss noch ein ' und du wirst selbst nach enterdrücken mit dem > aufgefordert deinen befehl zu vervollständigen. versuch mal gawk `BEGIN {FS=`\'`} {print $1 "\t" $2 "\t" $3}` test.dat habs nicht getestet, aber das scheint mir am plausibelsten ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nachtgeist Geschrieben 21. Oktober 2004 Teilen Geschrieben 21. Oktober 2004 geht btw auch mit awk -F\' ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
D-Styles Geschrieben 21. Oktober 2004 Autor Teilen Geschrieben 21. Oktober 2004 funktioniert mit awk wunderbar...danke :-)) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.