I eine Eingangs Editor-Datei haben, wie unten gezeigt:arithmetische Berechnung in Shell-Scripting-schlag
Probeneingabedatei:
Gemüse und Raten
kg rate total
Tomato 4 50 100
potato 2 60 120
Beans 3 80 240
Overalltotal: (100 + 120 + +240) = 460
Ich muss die Spalte 2 und Spalte 3 multiplizieren und überprüfen Sie die Summe, wenn es richtig ist und die Gesamtmenge insgesamt auch. Wenn das nicht richtig brauchen wir in der gleichen Datei als Fehlermeldung unter
Code eingeben hier
Beispielausgabedatei wie abgebildet drucken:
Gemüse und Preise
kg rate vegtotal
Tomato 4 50 200
potato 2 60 120
Beans 3 80 240
Overalltotal : (200 + 120 ++ 240) = 560
Fehler in den Berechnungen: V egtotal für Tomaten ist falsch: Es sollte 200 statt 100 Overalltotal sein, ist falsch:
for f in Date*.log; do
awk 'NR>1{ a[$1]=$2*$3 }{ print }END{ printf("\n");
for(i in a)
{ if(a[i]!=$4)
{ print i,"Error in calculations",a[i] }
} }' "$f" > tmpfile && mv tmpfile "$f";
done
es die Gesamt berechnet, aber nicht die Werte zu vergleichen: Es 560 statt 460
-Code so weit sein sollte. Wie kann ich sie vergleichen und in dieselbe Datei drucken?
Bitte ankreuzen Einen Blick auf [editing-help] (http://stackoverflow.com/editing-help). – Cyrus
Es gab eine fast identische Frage, die vor ein paar Tagen gestellt wurde, aber unter Verwendung von Schülerbewertungen. Durchsuchen Sie die Archive. –