User since
2008-07-23
7
Artikel
BenutzerIn
Hallo an alle,
ich bin absoluter Anfänger und hab mal ne Frage zur formatierten Ausgabe.
Wenn ich die Ausgabe folgendermaßen schreibe, funktioniert alles wie es soll:
printf "%-40s|%20s",$data1,$data2;
Nun will ich aber eine dynamische Tabelle erstellen, wo die spalten Formatierung variiert, was leider hinkt. Versuchts habe ich es so:
i = Schleifenvariable
printf "%-($i*40)s|%($i*20)s",$data1,§data2;
Ausgegeben wird aber leider nur was in den Gänsefüßchen steht.
Hat einer nen heißen Tipp???
User since
2006-02-17
628
Artikel
BenutzerIn
ein heißer Tipp wäre es wenn du uns ein lauffähiges Beispiel zeigst und das dann ohne Tippfehler
User since
2003-08-04
12208
Artikel
Admin1
das erste argument fuer sprintf ist das
format, das folgende sind die
daten.
berechnungen nimmt man gewöhnlich an
daten vor. wieso willst du also
die berechnung unbedingt ins format ziehen und nimmst nicht einfach $data1 * 40 etc.?
User since
2008-07-23
7
Artikel
BenutzerIn
@pq
die Berechnung hat sich auf Formatierung bezogen, aber ich habs einfach nur falsch angewandt. Hat sich somit erledigt :-D
@Struppi
wieso denn gleich so patzig???
User since
2003-08-04
2145
Artikel
ModeratorIn + EditorIn
ekos+2008-07-23 10:49:16--Nun will ich aber eine dynamische Tabelle erstellen, wo die spalten Formatierung variiert, was leider hinkt. Versuchts habe ich es so:
i = Schleifenvariable
printf "%-($i*40)s|%($i*20)s",$data1,§data2;
Ausgegeben wird aber leider nur was in den Gänsefüßchen steht.
Ich denke der Stern als Platzhalter für die Länge macht, was du dir vorstellst:
printf "%-*s|%*s", ($i*40), $data1, ($i*20), $data2;