首页 > 其他 > 详细

while循环按行读文件的方式总结

时间:2018-02-08 14:14:57      阅读:207      评论:0      收藏:0      [点我收藏+]
分析apache访问日志,把日志每行的访问字节数对应的字段数字相加,计算访问总量。

#!/bin/bash
sum=0
exec < $1

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 < $1              #$1表示的是文件名
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<file




while循环按行读文件的方式总结

原文:http://blog.51cto.com/11726212/2070153

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!