思路:用awk提取文本文件并赋值为数组,然后用for循环求数组的总和,用bc求平均值以保留3位小数。
#!/bin/bash arr=($(awk 'NR>1' nowcoder.txt)) length=$(head -n 1 nowcoder.txt) sum=0 for i in "${arr[@]}"; do sum=$((sum+i)) done ave=$(echo "scale=3; $sum / $length" | bc) echo "$ave"