1、
sum=0
for i in `awk '{print $6}' nowcoder.txt`
do
((sum+=$i))
done
echo $sum 此处利用for循环,用变量i来接收nowcoder.txt文件每一行对应的数据,利用awk对每一行数据进行切割,输出第6快区域的数据信息
2、
sum=0
while read p
do
((sum+=$(echo $p|awk '{print $6}')));
done < nowcoder.txt
echo $sum通过read命令来读写数据,变量p表示所读取的每一行的数据,同时通过管道命令与awk命令结合查询,得到每行的第6快区域的数据信息。
3、
awk '{sum+=$6}END{print sum}' nowcoder.txt3和4解法类似,都是利用awk的强大功能,由第一行开始读写,读到最后一行结束
4、
awk 'BEGIN{sum=0}{sum+=$6}END{print sum}' nowcoder.txt5、《性能最佳》
sum=0;
while read p
do
arr=($p)
((sum+=arr[5]))
done <nowcoder.txt
echo $sum此类解法未使用awk命令,为性能最佳,通过定义数组接收每行的数据,arr[5]则表示第5块区域的数据信息。

京公网安备 11010502036488号