awk Zahl formatieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
tuxfreund
Beiträge: 58
Registriert: 01.12.2009 19:19:46

awk Zahl formatieren

Beitrag von tuxfreund » 19.10.2011 11:32:13

Hallo,
ich möchte eine Textdatei verändern. Sie hat die Form Nummer;Spiel;Sprache;Prüfsumme. Wie kann ich jetzt das Nummernfeld in eine 4stellige Zahl konvertieren? Beispiel: 0013
Gruss

uname
Beiträge: 12419
Registriert: 03.06.2008 09:33:02

Re: awk Zahl formatieren

Beitrag von uname » 19.10.2011 11:49:32

Leider habe ich auch wenig Ahnung von "awk". Scheint aber zu funktionieren. Die Ausgabe musst du dann noch kopieren. Irgendwie kann man auch Dateien direkt ändern, wäre nur etwas gefährlich ;-)

Code: Alles auswählen

awk -F';' '{printf "%06d;%s;%s;%s\n", $1,$2,$3,$4}' datei.txt

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: awk Zahl formatieren

Beitrag von Meillo » 19.10.2011 12:23:04

uname hat geschrieben:Leider habe ich auch wenig Ahnung von "awk". Scheint aber zu funktionieren.
Sieht auch gut aus.

Irgendwie kann man auch Dateien direkt ändern, wäre nur etwas gefährlich ;-)
In awk auf herkoemmliche Weise nicht. (Bei sed mit dem unportablen `-i' schon.) Was gehen wuerde ist die Datei komplett einlesen und dann zum Schreiben neu oeffnen. Oder halt aus awk raus Shellbefehle absetzen. Beides ist nicht zu empfehlen. Dann bastel lieber ein Shellscript aussen rum.
Use ed once in a while!

tuxfreund
Beiträge: 58
Registriert: 01.12.2009 19:19:46

Re: awk Zahl formatieren

Beitrag von tuxfreund » 19.10.2011 14:07:32

Danke. Das funktioniert. (%04d). Habe dann Ausgabe in neue Datei gelenkt.

Antworten