我有一个如下所示的文件
--------------------------------------------------------------
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