awk: printf schlägt fehl, wenn Steuerzeichen im Argument

F

FrankSchmitz

Jungspund
Hallo zusammen,

ich hatte bis eben (für mich) unerklärliche Probleme, wenn ich mit dem folgenden AWK eine Datei durchlaufen habe, die ein Prozentzeichen enthielt (ich bin schon mal froh, dass ich das als Auslöser identifiziert habe).

Code:
nawk -F\; '{
   printf("Datensatz: "$3";"$1"\n");
}' testdatei.dat

Dann kam der Fehler: nawk: not enough args in printf(...

Wie kann ich das denn so markieren, dass ich keine Probleme mehr hab´? :think:
 
In dem Beispiel, das Du zeigst, sind die '"' nicht ausgeglichen, d.h., es ist eine ungerade Anzahl. Wenn Du Kontrollzeichen ausgeben moechtest, reicht es meistens, sie zu 'escapen', d.h., einen Backslash '\' direkt voranzustellen.
Code:
nawk -F\; '{
   printf("Datensatz: \"$3\";\"$1\"\n");
   printf("Hier noch ein Prozentzeichen: \%\n");
}' testdatei.dat
 

Ähnliche Themen

Mit awk ein textfile parsen und SQL daraus erzeugen.

Clock Skew's und andere Missgeschicke

Zurück
Oben