Linux 如何在bashshell脚本中从文件中添加两行数字?

Linux 如何在bashshell脚本中从文件中添加两行数字?,linux,shell,Linux,Shell,我试图在shell中添加一个文件中的数字,但我有点卡住了。我是bash的新手,我不知道怎么做。 我的文件示例如下所示 猫体温 2349 35 50 我想做的是加上23和35,再加上49和50。任何想法都会有帮助 谢谢。使用awk: awk '{f1+=$1;f2+=$2} END{print f1" "f2}' temp 如果我想将f1和f2保存到另一个名为temp1的文件中,该怎么办 这样做 将标准输出重定向到文件temp1 awk '{f1+=$1;f2+=$2} END{print

我试图在shell中添加一个文件中的数字,但我有点卡住了。我是bash的新手,我不知道怎么做。 我的文件示例如下所示

猫体温

2349

35 50

我想做的是加上23和35,再加上49和50。任何想法都会有帮助


谢谢。

使用
awk

 awk '{f1+=$1;f2+=$2} END{print f1" "f2}' temp

如果我想将f1和f2保存到另一个名为temp1的文件中,该怎么办 这样做

将标准输出重定向到文件
temp1

 awk '{f1+=$1;f2+=$2} END{print f1" "f2}' temp > temp1

使用
awk

 awk '{f1+=$1;f2+=$2} END{print f1" "f2}' temp

如果我想将f1和f2保存到另一个名为temp1的文件中,该怎么办 这样做

将标准输出重定向到文件
temp1

 awk '{f1+=$1;f2+=$2} END{print f1" "f2}' temp > temp1

您可以使用bc计算任何数值表达式:

echo "32 + 33" | bc
或者对于整个文件:

sed 's/ /+/' < temp|bc
sed's/+/'
您可以使用bc计算任何数值表达式:

echo "32 + 33" | bc
或者对于整个文件:

sed 's/ /+/' < temp|bc
sed's/+/'
问题需要的是列的总和,而不是行的总和。聪明的解决方案。哦。。。我的坏:)。。。awk绝对是正确的选择:)问题需要的是列的总和,而不是行的总和。聪明的解决方案。哦。。。我的坏:)。。。awk绝对是一种方式:)如果我想将f1和f2保存到另一个文件temp1,我该怎么做?@soe:将其重定向到temp1<代码>。。。temp>temp1谢谢你,伙计。我试试看。但我不想删除临时文件。它不会删除它,是吗?如果我想将f1和f2保存到另一个名为temp1的文件,我该怎么做?@soe:将其重定向到temp1<代码>。。。temp>temp1谢谢你,伙计。我试试看。但我不想删除临时文件。它不会删除它,是吗?