0

我正在尝试总结文本文件中的值

尝试.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

提前致谢

4

2 回答 2

4

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

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

输出:

firstNumber 1
secondNumber 2
total = 3
于 2013-10-30T03:51:49.007 回答
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
于 2013-10-30T03:54:01.517 回答