shell脚本日志统计笔记

来源:互联网 发布:zeppelin软件源地址 编辑:程序博客网 时间:2024/05/29 18:18

源码如下:

#awk内部参数及命令行内参数使用方式,参考代码内及源码末尾

#统计目标文件指定数值,即json格式条目count
#!/bin/bash

#目标文件根目录
root_path=$(cd "$(dirname "$0")"; pwd)
#当前目录统计,并排除_01关键字目录
log_path=`ls -l | grep "^d" | grep -v "_01" | awk '{print $9}' | cat | xargs`
count=0
total=0
#外部文件夹路径变量
date_dir=$1
h_flag=$2

#默认日志2017-07-06
#if [ "$date_dir" = "" ]
if [ -z "$date_dir" ]
then
    date_dir=2017-07-06
fi

if [ "$h_flag" = "" ]
then
    h_flag=15
fi

#for循环统计
for path in $log_path
do
    #切换目录
    cd $root_path/$path/$date_dir
    #统计awk切割后的数。命令行内参数引用方式,awk内部参数引用进源码末尾
    count=`file=$date_dir;flag=$h_flag;awk -F "[" '{print $1};' "$file"_"$flag"* | awk -F ":" '{print $8}' | awk -F "," '{print $1}' | awk '{count+=$1};END{print count}'`
    #目标值加入总统计数
    total=$[$total+$count]
    echo $path
    echo $count
    #echo $total
done

#输出总统计数
echo $total

#ADD awk 内部参数引用
#awk -v b="started >>" -F "[" 'BEGIN{print b};{print $1};' *.log


原创粉丝点击