textdatei;
Name1, Vorname1, Adresse1
Name2, Vorname2, Adresse2
Name3, Vorname3, Adresse3
Name4, Vorname4, Adresse4
soll konvertiert werden
Name1,Vorname1,Adresse1,00000000.zip
Name2,Vorname2,Adresse2,00000001.zip
Name3,Vorname3,Adresse3,00000002.zip
Name4,Vorname4,Adresse4,00000003.zip
ich möchte also einfach einen Zähler haben, der mir eine achtstellige zahl anhängt + ".zip"
BEGIN {FS=","}
x=0;
{
print("%s,%s,%s,$08i.zip", $1,$2,$3,$x);
x++;
}
das geht jedoch nicht .. warum zählt er nicht und schreibt mir das als $x ???
DANKE
warum geht das nicht (awk)
Re: warum geht das nicht (awk)
<li>Variablen werden im awk einfach als Name ohne vorangestelltes $ verwendet. Wenn man ein $ vorneweg stellt, heisst das, dass man den Inhalt des Feldes aktuellen Zeile haben will, dessen Nummer in der Variablen enthalten ist. Beispiel: <blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">{
x=2
print "Inhalt von x: " x
print "Inhalt des " x ". Feldes: " $x
}</font><hr></pre></blockquote>
<li>Die Formatangabe für Integerwert ist meines Wissens "d", nicht "i". (Kann das der awk?)
<li>Formatangaben zu printf werden mit "%" und nicht mit "$" eingeleitet (also "%08d.zip", nicht "$08d.zip").
<li>Du hast das "\<!--no-->n" beim printf vergessen...
Jochen
x=2
print "Inhalt von x: " x
print "Inhalt des " x ". Feldes: " $x
}</font><hr></pre></blockquote>
<li>Die Formatangabe für Integerwert ist meines Wissens "d", nicht "i". (Kann das der awk?)
<li>Formatangaben zu printf werden mit "%" und nicht mit "$" eingeleitet (also "%08d.zip", nicht "$08d.zip").
<li>Du hast das "\<!--no-->n" beim printf vergessen...
Jochen
Re: warum geht das nicht (awk)
hi,
Danke für die Antwort...
Okay Formatangaben nicht wie in C ...
$08i war ein tippfehler
\<!--no-->n wurde "gefressen" <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
ich tu mich mit der Syntax von awk etwas schwer, da sie stark von der mir sonst bekannten Syntax(Konzept) abweicht
vielen Dank
Danke für die Antwort...
Okay Formatangaben nicht wie in C ...
$08i war ein tippfehler
\<!--no-->n wurde "gefressen" <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
ich tu mich mit der Syntax von awk etwas schwer, da sie stark von der mir sonst bekannten Syntax(Konzept) abweicht
vielen Dank
Re: warum geht das nicht (awk)
> Okay Formatangaben nicht wie in C ...
Doch, gerade! Aber die man-Page zu awk lässt bei printf für Integers sowohl %d als auch %i zu - ich habe zwar nix falsches gesagt, aber auch nix 100%ig korrektes...
> $08i war ein tippfehler
Weswegen ich an Deiner Stelle immer mit Copy'n'Paste arbeiten würde. Sonst kriegt man Fehler angezeigt, die im eigentlichen Skript gar nicht vorhanden sind...
> \<!--no-->n wurde "gefressen"
Jau, immer wieder gerne genommener Fehler hier im Board. <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> Aber normalerweise hätte das Board an dieser Stelle einen echten Umbruch gemacht - bist Du sicher, dass es nicht doch ein Tappfehler war? (Nicht, dass das irgendeine tiefere Bedeutung hätte, ich bin bloss neugierig.)
Jochen
Doch, gerade! Aber die man-Page zu awk lässt bei printf für Integers sowohl %d als auch %i zu - ich habe zwar nix falsches gesagt, aber auch nix 100%ig korrektes...
> $08i war ein tippfehler
Weswegen ich an Deiner Stelle immer mit Copy'n'Paste arbeiten würde. Sonst kriegt man Fehler angezeigt, die im eigentlichen Skript gar nicht vorhanden sind...
> \<!--no-->n wurde "gefressen"
Jau, immer wieder gerne genommener Fehler hier im Board. <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> Aber normalerweise hätte das Board an dieser Stelle einen echten Umbruch gemacht - bist Du sicher, dass es nicht doch ein Tappfehler war? (Nicht, dass das irgendeine tiefere Bedeutung hätte, ich bin bloss neugierig.)
Jochen
Re: warum geht das nicht (awk)
test
test\<!--no-->n (Vorschau zeigt das anders kann auch vertippert gewesen sein)
Copy&Paste ist leider bei mir hier nicht möglich, da der Rechner ein HP-UX ist .. und nicht im Netz ist
Du hast mit beser sehr viel geholfen ... nochmals vielen Dank
test\<!--no-->n (Vorschau zeigt das anders kann auch vertippert gewesen sein)
Copy&Paste ist leider bei mir hier nicht möglich, da der Rechner ein HP-UX ist .. und nicht im Netz ist
Du hast mit beser sehr viel geholfen ... nochmals vielen Dank