wieder ein Problem für awk ?

Post Reply
Message
Author
eq

wieder ein Problem für awk ?

#1 Post by eq »

folgender AUfabu einer Datei:
Name,Vorname,Adresse,e-mail,home,data1,data2,data3,data4
Name,Vorname,Adresse,e-mail,home,data1
Name,Vorname,Adresse,e-mail,home,data1,data2,data3,data4
Name,Vorname,Adresse,e-mail,home,data1,data2,data3
Name,Vorname,Adresse,e-mail,home,data1,data2

kommt sicher bekannt vor <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

nun möchte ich die Felder 1 bis 4 mit einer Festen Breite versehen

erstes Feld 16 Zeichen
zweites Feld 16 Zeichen
drittes Feld 32 Zeichen
viertes Feld 16 Zeichen

der Rest muß weggeschnitten werden.

Die Zeilen sollen dann alle so aussehen:
"Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,Vorname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,Adresse&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,e-mail&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"

vielen Dank schon mal

Jochen

Re: wieder ein Problem für awk ?

#2 Post by Jochen »

Ich war ja schon kurz davon ein "man awk, Funktion printf()" zu posten, aber was soll's... <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">#!/usr/bin/awk -f
BEGIN { FS="," }
{ printf ("%-16s,%-16s,%-32s,%-16s
",$1,$2,$3,$4) }
</font><hr></pre></blockquote>%leitet eine Formatangabe an, "-" bewirkt Linksbündigkeit (Default rechtsbündig), die Zahl ist die Breite des Feldes und "s" steht für einen String.

Jochen

Jochen

Re: wieder ein Problem für awk ?

#3 Post by Jochen »

Ahhh, Driss! Das Board hat wieder das Newline geschreddert. So soll's aussehen:<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">#!/usr/bin/awk -f
BEGIN { FS="," }
{ printf ("%-16s,%-16s,%-32s,%-16s\<!--no-->n",$1,$2,$3,$4) }</font><hr></pre></blockquote>

Jochen

Post Reply