对除标题之外的列中的值求和

对除标题之外的列中的值求和

我有一个如下所示的文件

--------------------------------------------------------------
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

我需要Item_Amount通过忽略文件中的标题来添加列下的值并将总和打印为

Total Amount collected = 95657

答案1

awk '{s+=$3}END{print s}' yourfile

答案2

仅使用awk.假设示例数据位于文件中ex.txt

$ awk '{total = total + int($3)}END{print "Total Amount collected = "total}' ex.txt

例子

$ awk '{total = total + $3}END{print "Total Amount collected = "total}' ex.txt 
Total Amount collected = 95657

细节

使用awk我们收集第三列 ( ) 中的值$3并将其小计累加到变量 中total。完成后,作为最后要做的事情,END{..}我们将打印消息以及变量的值total

答案3

total=0; 
for n in  $( tail -n +4 /tmp/reports.txt | awk '{print $3}') ; 
do 
   total=$( expr $total + $n ); 
done ; 
echo ">>$total" 

答案4

如果有帮助的话:

grep -Eo '[0-9\.]+' your_file|tr '\n' '+'|sed 's/\+$//'|bc -l

相关内容