Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- LOG="mail.log.zimbra"
- F_ID_FROM="id_from"
- F_FROM="campo_from"
- DOMINIO="empresa.com.br"
- function conta_linhas(){
- awk '{
- for (w = 1; w <= NF; w++) conta[$w] ++
- }
- END {
- for (w in conta) print conta[w], w | "sort -nr"
- }' $1
- }
- #Captura ID e campo FROM
- cat $LOG | sed -rn '/from=/{s/.*: ([^:]*): from=<([^>]*)>.*/\1 \2/;p};' | grep "$DOMINIO" | grep -v NOQUEUE > $F_ID_FROM
- TOTAL_MSG=$(cat $F_ID_FROM | wc -l)
- #Filtra FROM
- cat $F_ID_FROM | cut -d' ' -f2 | cut -d',' -f1 | cut -d'<' -f2 | cut -d'>' -f1 | awk '!i[$0]++' | sed '/^$/d' > $F_FROM
- TOTAL_USERS=$(cat $F_FROM | wc -l)
- #Agrupa mensagens dos usuarios por id
- COUNTER=1
- while [ $COUNTER -le $TOTAL_MSG ];
- do
- USER_A=$(sed -n $COUNTER' p;' $F_ID_FROM | cut -d' ' -f2)
- ID_A=$(sed -n $COUNTER' p;' $F_ID_FROM | cut -d' ' -f1)
- #echo -ne "> Mensagem: $ID_A \t\t"
- cat $LOG | grep $ID_A >> report/$USER_A.tmp
- cat report/$USER_A.tmp | grep $ID_A | grep to= | cut -d'=' -f2 | cut -d'<' -f2 | cut -d'>' -f1 | awk '!i[$0]++' >> report/$USER_A-remetentes.tmp
- cat report/$USER_A.tmp | cut -d' ' -f1,2,3 | awk '!i[$0]++' >> report/$USER_A-data.tmp
- echo "$COUNTER de $TOTAL_MSG"
- COUNTER=$(($COUNTER+1))
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement