• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

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