awk實例_分析日誌文件

從日誌文件中獲取所要的數據
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`
發佈了19 篇原創文章 · 獲贊 16 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章