2016-05-17 12 views
0

erneut! Kann mir jemand bei der nächsten Frage helfen:Kombinieren Sie ähnliche Zeilen in einer Datei mit AWK

Ich muss ähnliche Zeilen in einer Datei mit awk kombinieren. Beispiel
Datei hat folgende Zeilen:

Mike: 
dollar 15 
euro 4 

Fred: 
euro 14 

Wie kann ich ähnliche Muster in verschiedenen Reihen in eine Zeile kombinieren:

Mike dollar 15 
Fred euro 10 
Mike euro 4 
Fred euro 4 

Ausgabe aussehen sollte?
Vielen Dank für Ideen!

Antwort

2

awk zur Rettung!

$ awk '{a[$1,$2]+=$3; k1s[$1]; k2s[$2]} 
    END{for(k1 in k1s) 
      {print k1":"; 
      for(k2 in k2s) if(a[k1,k2]) print k2, a[k1,k2]; print ""}}' file 

Mike: 
euro 4 
dollar 15 

Fred: 
euro 14 
+0

Gott segne dich, Kumpel! Es klappt!!! –

+0

Dann, @ MikeJames, in Betracht ziehen, die Antwort zu akzeptieren. – fedorqui

Verwandte Themen