• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung

awk

daniel.macbook

Uelzener Rambour
Registriert
09.01.07
Beiträge
369
Hi,

kennt sich vielleicht jemand mit awk aus? Ich will zwei Spalten aus einer gewissen Anzahl von Dateien auslesen und diese mulitpliziert ausgeben. Ich habe das Problem, dass in den Dateien die Zahlen mit einem Punkt getrennt werden, das erkennt awk nicht als float Zahl an. Also muss der Punkt durch ein Komma getrennt werden. Mein Vorschlag funktioniert leider nicht:

cat tmp.prn?? | awk '{ if ( NF >= 2 ) gsub(/./,","), print 90-$2, $3*190.0}'

Bin für jede Idee dankbar.

Guten Rutsch!
 

tfc

Ontario
Registriert
21.07.07
Beiträge
348
Bei Regular Expressions bedeutet der Punkt "irgendein Zeichen". Wenn Du mit dem Punkt das Zeichen "." meinst, dann musst Du es mit einem Backslash maskieren.
/\./ matcht Punkte.
 

daniel.macbook

Uelzener Rambour
Registriert
09.01.07
Beiträge
369
Wieso funktioniert dieser Ausdruck für die Datei tmp.prn11 nicht:
awk 'gsub(/\./,",",tmp.prn11)'
 

daniel.macbook

Uelzener Rambour
Registriert
09.01.07
Beiträge
369
OK, diese Lösung hat funktioniert:

awk '{gsub(/\./,","); print }' Datei