linux shell 怎么计算输入的任意个数的和

linux shell 怎么计算输入的任意个数的和,第1张

sum=0while [ 1 ]doread oneif [ one -eq 0 ]thenexitfisum=`expr $sum +$one `doneecho $sum输入0停止输入,任意个数,需要有一个标识来表示数据输入结束

假设你的数据时存储在一个文件中,文件名字为test.txt

第一列的和:

cat test.txt | awk '{sum1+= $1}END{print sum1}'

第一列和第二列的平均值:

cat test.txt | awk '{sum1+=$1sum2+=$2count++}END{print sum1/count,sum2/count}'

#!/bin/bash

[ $# -ne 1 ] &&exit 1 #判断参数个数

[ "$1" -le 0 ] &&exit 1 #判断参数合法性

sum=0

for (( i=1i<=$1i=i+1 ))

do

read -p "Input number #$i: " num[$i]

sum=$((sum+num[$i]))

done

average=$((sum/$1))

echo "sum: $sum"

echo "average: $average"

exit 0


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8799703.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-21
下一篇 2023-04-21

发表评论

登录后才能评论

评论列表(0条)

保存