文本文件行中的总和数(linux命令终端)

时间:2016-09-21 11:00:02

标签: linux bash

假设我有那个格式的数字6 1 4,最好的方法是将它们相加以便我在linux中使用bash在命令终端获得结果11?

3 个答案:

答案 0 :(得分:1)

One Line答案:

$echo "6 4 1" | awk '{print $1+$2+$3}'
11

答案 1 :(得分:0)

使用awk,这将是直截了当的:

awk '{tot=0; for(i=1;i<=NF;i++) tot+=$i; print tot}' filename

但如果您更喜欢仅使用bash,那么您可以使用循环:

while read -r line; do 
   tot=0
   for val in $line; do
      ((tot+=val))
   done
   echo $tot
done < filename

如果文件中的数字是浮点数,则可以使用bcdc,因为bash不支持浮点运算。

答案 2 :(得分:0)

您可以使用bc

a=6; b=4; c=1;
echo "$a+$b+$c" | bc

输出 - 11