Ich habe eine Datei wie unten angegeben
--------------------------------------------------------------
Name_Customer Item_Purchased Item_Amount Credit
--------------------------------------------------------------
Tom H1_P 7657 N/A
Pras Track_1 23 N/A
Cha Brace 9 N/A
Moh kite37 269 N/A
Prab Bols 87699 N/A
Ich muss die Werte unter der Spalte hinzufügen, Item_Amount
indem ich den Header in der Datei ignoriere und die Summe als drucke
Total Amount collected = 95657
s+0
?.Ziemlich trivial mit nur
awk
. Angenommen, die Beispieldaten befinden sich in einer Dateiex.txt
:Beispiel
Einzelheiten
Mit
awk
sammeln wir die Werte aus der 3. Spalte ($3
) und akkumulieren ihre Zwischensumme in der Variablentotal
. Sobald dies abgeschlossen ist,END{..}
drucken wir als letztes die Nachricht zusammen mit dem Wert der Variablentotal
.quelle
int($3)
int($3)
bekommt die Dinge so, wie ich es brauche.quelle
Der
awk
Ansatz ist wahrscheinlich der einfachste. Hier sind einige andere Möglichkeiten:Perl:
Reine Coreutils:
quelle
Wenn es helfen kann:
quelle
Diese Pipeline sollte die Arbeit erledigen:
quelle
quelle