awk实例_分析日志文件

来源:互联网 发布:手机进不了知乎 编辑:程序博客网 时间:2024/06/05 07:52
从日志文件中获取所要的数据
shell脚本如下:
dir="/home/zhailianxing/test_loginflow/part_login"


result_all="./login_all.csv"
result_success="./login_success.csv"


result_success_tmp="./login_success_tmp"
result_all_tmp="./login_all_tmp"


`touch login_success_tmp`
`touch login_all_tmp`
`touch login_all.csv`
`touch login_success.csv`


files=`ls  ./part_login`
for file in $files
do
    dir_file="$dir/$file";

    `awk -F '\t'  '{if($3==114 && $5==131078 && $14==0){print $8}}' $dir_file | awk -F "\t" '{if($1!="")arr[$1]+=1} END{for(i in arr) print i,",",arr[i]}' >> $result_success_tmp`
    `awk -F '\t'  '{if($3==114 && $5==131078){print $8}}' $dir_file | awk -F "\t" '{if($1!="")arr[$1]+=1} END{for(i in arr) print i,",",arr[i]}' >> $result_all_tmp`


done
echo "together"
`awk 'BEGIN{print "pin,total"}  {if($1 != "") arr[$1] += 1} END{for(i in arr) print i","arr[i]}'  $result_all_tmp   > $result_all`
echo "one over"
`awk 'BEGIN{print "pin,total"}  {if($1 != "") arr[$1] += 1} END{for(i in arr) print i","arr[i]}'  $result_success_tmp > $result_success`


echo "togehter over"


`rm -rf login_all_tmp`
`rm -rf login_success_tmp`
0 0
原创粉丝点击