码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-02-08 14:16:37      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:计算   ash   httpd   通过   class   while循环   tin   awk   apach   

分析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循环按行读文件的方式总结

标签:计算   ash   httpd   通过   class   while循环   tin   awk   apach   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!