分析apache访问日志,把日志每行的访问字节数对应的字段数字相加,计算访问总量。#!/bin/bash
sum=0
exec
while read line
do
aa=`echo $line | awk '{print $10}'`
expr $aa + 10 > /dev/null
a=$?
if [ $a -ne 0 ]; then
continue
fi
sum=$(($sum+$aa))
done
echo $sum
~
这个问题主要考察while循环按行读文件的方式。
第一种:采用exec读取文件,然后进入循环处理exec
while read line
do
echo $line
done
第二种:使用cat读取文件内容,然后通过管道进入while循环处理。cat /etc/httpd/logs/access.log | while read line
do
处理命令
done
第三种:while read line
do
cmd
done