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.txt
3和4解法类似,都是利用awk的强大功能,由第一行开始读写,读到最后一行结束
4、
awk 'BEGIN{sum=0}{sum+=$6}END{print sum}' nowcoder.txt
5、《性能最佳》
sum=0; while read p do arr=($p) ((sum+=arr[5])) done <nowcoder.txt echo $sum
此类解法未使用awk命令,为性能最佳,通过定义数组接收每行的数据,arr[5]则表示第5块区域的数据信息。