您的位置:首页 > 运维架构 > Shell

第一个shell 日志统计

2016-07-04 16:23 686 查看
功能:统计日志中包含特定字符串的行数

#!/bin/bash
#输入参数:要查询的开始日期,要查询的结束日期 例如: sh count.sh 20160625 20160703 注:区间不得超过15天

datebeg=$1
dateend=$2
#echo $datebeg
#echo $dateend

if [ ! -n "$datebeg" ]; then
echo '请输入开始日期'
exit 2
fi

if [ ! -n "$dateend" ]; then
echo '请输入结束日期'
exit 2
else
beg_s=`date -d "$datebeg" +%s`
end_s=`date -d "$dateend" +%s`
duringday=`expr $end_s - $beg_s`
duringday=`expr $duringday / 86400`
if [ $duringday -gt 15 ];then
echo '输入日期区间过大'
exit 3
fi
search_allcount=0
while [ "$beg_s" -le "$end_s" ]
do
thisdate=`date -d @$beg_s +%Y%m%d`
#echo $thisdate
thisday=`date -d @$beg_s +%m%d`
#echo $thisday
search=`grep -c 'search words' $thisday.log`
#Today=`date -d $thisdate +%Y%m%d`
echo "$thisdate搜索总量$search"
search_allcount=`expr $search_allcount + $search`

beg_s=$((beg_s+86400))
done
fi
echo "总量$search_allcount"


感想:shell的风格在赋值时不能有空格,数学运算需加上expr,if条件用中口号,大小比较需用字母表示,等等,这些需要刚写shell的时候注意下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell