PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Skript zur Fileauswertung



phontom
15-10-2004, 08:07
Liebe Community!

Da ich ein blutiger Anfänger im Bereich Shell-Skript bin benötige ich HILFE!
Ich habe ein Logfile mit folgendem Inhalt:

2004-03-01 09:36:47 "DocMail.20040301.093646.843.TIF" 276022 Byte
2004-03-01 09:36:47 "DocMail.20040301.093646.843.TIF 276022 Byte
2004-03-01 09:36:52 "pic26962.jpg" 141871 Byte
2004-03-01 09:36:52 "pic26962.jpg 141871 Byte
2004-03-01 09:36:55 "Help me.jpg" 288790 Byte
2004-03-01 09:36:55 "Help 288790 Byte
2004-03-01 09:36:58 "card.txt.exe" 35409 Byte
2004-03-01 09:36:58 "card.txt.exe 35409 Byte

.....


Dort hätte ich gerne eine Auswertung in folgender Form: Summe der Mails (anzahlsmäßig pro tag); davon Summe der Mails mit .ppt/.pps Endung pro Tag (anzahl) und das ganze dann volumsmäßig (Bytes zusammenzählen).

ich habe scho mit 2 Skripten angefangen, welche von diesem Forum sind. Es scheitert allerdings an meine Kenntnissen.

Vielleicht kann sich ja jemand erweichen und mir Hilfe geben.


lg
/thomas

phontom
15-10-2004, 10:14
hier habe ich ein skript das ungefähr, das tut,
kann mir das jemand vervollständigen *gg+

#!/bin/sh

FILE=$1
DATESTART=$2

YEAR=`echo $DATESTART|awk -F'-' '{print $1}'`
MONTH=`echo $DATESTART|awk -F'-' '{print $2}'`
DAYSTART=`echo $DATESTART|awk -F'-' '{print $3}'`

COUNT="0 1 2 3 4 5 6"
VOLUME=0
for c in $COUNT
do
DAY=` expr $DAYSTART + $c `
if [ $DAY -lt 10 ]
then
DAY="0$DAY"
fi
DATE="$YEAR-$MONTH-$DAY"
DAYVOLUME=0
for i in `grep "$DATE" $FILE|sed 's/ /}/g'`
do
#count volume


# DESTCOUNT=`echo $i|awk -F'=' '{print $2}'|awk -F'@' '{print NF}'`
# DESTCOUNT=` expr $DESTCOUNT - 1`
# SIZE=`echo $i|awk -F'=' '{print $2}'|sed 's/}/ /g'|awk '{print $1}'`
# MAILSIZE=`expr $SIZE \* $DESTCOUNT`

PPTCOUNT=`echo $i|awk -F'.pps' '{print$2}'|awk -F'@' '{print NF}'`
PPTCOUNT=`expr $PPTCOUNT - 1`
SIZE2=`echo $i|awk -F'=' '{print}$2'|sed 's/}/ /g'|awk '{print $1}'`
PPTSIZE=`expr $SIZE2 \* $PPTCOUNT`
echo "$PPTSIZE // $PPSSIZE"


# PPSCOUNT=`echo $i|awk -F'.ppt' '{print$2}'|awk -F'@' '{print NF}'`
# PPSCOUNT=`expr $PPTCOUNT - 1`
# SIZE3=`echo $i|awk -F'=' '{print}$2'|sed 's/}/ /g'|awk '{print $1}'`
# PPSSIZE=`expr $SIZE3 \* $PPSCOUNT`


#MAILSIZE=$SIZE

DAYVOLKOMM=`expr $PPTSIZE + $PPSSIZE`
# DAYVOLUME=`expr $DAYVOLUME + $MAILSIZE`

echo -n `echo $i|awk -F'=' '{print $1}'|sed 's/}/ /g'`
echo -n " = "
echo -n `echo $i|awk -F'=' '{print $2}'|sed 's/}/ /g'|awk '{print $1" "$2}'`
echo " * $DESTCOUNT "
done

DAYVOLUMEMB=`expr $DAYVOLUME / 1024`
echo
echo "Das Powerpoint Mailvolumen am $DATE war $DAYVOLUMEMB KByte"
echo
VOLUME=`expr $VOLUME + $DAYVOLUME`

done

VOLUMEMB=`expr $VOLUME / 1024`
echo
echo "Das Powerpoint Mailvolumen in dieser Woche war $VOLUMEMB KByte"
echo