尝试使用 bc 对数组中的元素求和,我有一个包含名称和它们的值的文件,如果名称出现 3 次,我应该将其值乘以 3,然后找到所有元素的总和,我看到标准输入错误
$ cat foo.txt
max 2.3
henry 3
fransis 4.5
max 2.3
henry 3
max 2.3
它应该显示在终端上
max 6.9
henry 6
fransis 4.5
然后
total 17.9
declare -A array
while read name value; do
array[$name]=$( echo "${array[$name]:-0} + $value" | bc )
done < cat foo.txt
for name in "${!array[@]}"; do
echo "$name ${array[$name]}"
done