Ich möchte alle 3. Felder aus jeder Zeile hinzufügen und das Ergebnis erzeugen.Wie fügt man alle Werte in einer bestimmten Spalte hinzu?
Unten ist die Art, wie ich das Problem gelöst
sum=0
grep '2016Feb' input.txt|awk -F\- '{print $3}'|while read LINE; do
sum = $(expr $sum + $LINE)
done
echo $sum
Gibt es einen besseren Weg, das Problem als meinen Code zu lösen? Möglich ein Befehl, der das Problem @ Befehlszeile selbst löst?
Für eine Datei wie:
$ cat input.txt
Feb2016-2016-110
Feb2016-2016-20
Feb2016-2016-220
Feb2016-2016-140
Feb2016-2016-100
Die Ausgabe lautet: 590
.
ich bezweifle, dass dies funktioniert, da 'Summe =' $ (expr $ sum + $ LINE) ist keine gültige Syntax. Leerzeichen um '=' sollten entfernt werden. – fedorqui
Vereinbarte Fedorqui. Der obige Code wurde nicht implementiert. Aber die Logik und die Art und Weise, wie es gelöst wird, ist definitiv korrekt, wobei Syntaxkorrekturen ausgelassen werden. – user3624000