我有一個輸入記事本文件,如下所示:算術計算
樣本輸入文件:
蔬菜和價格
kg rate total
Tomato 4 50 100
potato 2 60 120
Beans 3 80 240
Overalltotal:(100 + 120 + +240)= 460
我需要乘以第2列和第3列,並檢查總數,如果它是正確的,整體總數也是如此。如果這不是正確的,我們需要在同一文件中的錯誤信息打印如下圖所示
輸入代碼在這裏
樣本輸出文件:
蔬菜和價格
kg rate vegtotal
Tomato 4 50 200
potato 2 60 120
Beans 3 80 240
Overalltotal :(200 + 120 ++ 240)= 560
計算錯誤: V egtotal番茄是錯誤的:它應該是200,而不是100 Overalltotal是錯誤的:它應該是560而不是460
到目前爲止的代碼:
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
它計算總,但沒有比較價值。我怎樣才能比較它們並打印到相同的文件?
請tak看看[編輯幫助](http://stackoverflow.com/editing-help)。 – Cyrus
幾天前發佈的問題與使用學生成績的問題幾乎完全相同。搜索檔案。 –