【发布时间】:2018-07-06 04:38:27
【问题描述】:
编写一个期望文件作为其第一个参数的脚本。的一些行 文件将由整数 0 - 1000 组成。 脚本应该选择符合先前条件的行并将它们的平均值打印到标准输出(n 个整数的平均值是它们的总和除以 n)。
给出的文件如下所示:
22
78907
77 88 99 0000
need 11 gallons of water
0
roses are red
11
示例输出:
11
解释:(22 + 11 + 0) / 3 = 11
我已经尝试过使用此代码:
#!/bin/bash
sum=0
ind=0
while IFS='' read -r line || [[ -n "$line" ]]; do
if [[ $line =~ ^[a-zA-Z\ ]+$ ]]
then
${sum}=${sum}+${#line}
${ind}=${ind}+1
echo ${sum}
fi
done < "$1"
value=${sum}/${ind}
echo ${value}
此代码的打印始终为 0/0 和一些错误,例如:
./test1: line 9: 0=0+13: command not found
./test1: line 10: 0=0+1: command not found
有什么想法吗?
【问题讨论】: