总结文本文件中的值 - bash

时间:2013-10-30 03:47:59

标签: bash shell

我试图总结文本文件中的值

try.txt

firstNumber,1
secondNumber,2

我尝试使用此脚本

#!/bin/bash
while IFS, read -r -a array; do
     printf "%s %s\n" "${array[0]} ${array[1]}"
     for n in "${array[1]}"; do
        ((total += n))
        echo "total =" $total
     done
done < try.txt

我完成了这个输出

 firstNumber  1
 total = 1
 secondNumber  2
 total = 3

预期产出

 firstNumber  1
 secondNumber  2
 total = 3

提前致谢

2 个答案:

答案 0 :(得分:4)

尝试使用awk。它最适合格式良好的表格数据操作。

awk -F, '{total+=$2; print $1,$2} END {print "total = "total}' try.txt

输出:

firstNumber 1
secondNumber 2
total = 3

答案 1 :(得分:3)

为什么不将echo移到主循环之外?

#!/bin/bash
while IFS, read -r -a array; do
     printf "%s %s\n" "${array[0]} ${array[1]}"
     for n in "${array[1]}"; do
        ((total += n))
     done
done < try.txt
echo "total =" $total
相关问题