Hi all,
Mein Skript unten war Geldbuße bis ich die LOGFILE Pfad (die ursprünglich auf eine Datei im gleichen Ordner das Skript für die Prüfung)
Nur der Pfad event.log Datei geändert wird, der Rest sind noch in den aktuellen Ordner.
Vor der Änderung, der Ausführung des Skripts funktioniert. Nach dem Wechsel von der "
sed"Befehle ab, es scheint nicht zu lösen.
Ich bei der die "
sed"Teil zu einem anderen Skript, und lief, dass die auf ihrer eigenen, daher die Befehle funktionieren.
Aber irgendwie scheint, dass sie zusammen, um mir ein großes Kopfzerbrechen.
Brauchen Sie Hilfe schnell.
Danke.
Code:
#!/bin/sh
integer CURCOUNT
LOGFILE=/var/opt/resmon/log/event.log
#Compare current count line with old count line in oldcount.txt
OLDCOUNT=`cat oldcount.txt | awk '{print $1}'`
CURCOUNT=`wc -l /var/opt/resmon/log/event.log | awk '{print $1}`
if [ "$CURCOUNT" = "$OLDCOUNT" ]; then
echo "NO Change"
exit
else
NEWLINES=`expr $CURCOUNT - $OLDCOUNT`
# Read and output new lines to diffline.txt
STARTLINE=`expr $OLDCOUNT + 1`
LASTLINE=$CURCOUNT
awk -v SL=$STARTLINE -v LL=$LASTLINE '
((NR >=SL) && (NR <=LL)) {print $0}' /var/opt/resmon/log/event.log > diffline.txt
#Updates oldcount.txt with latest value
echo $CURCOUNT > oldcount.txt
exit
fi
sed -ne '/^---/p' -e '/Severity............: CRITICAL/,/^Description of Error/p' -e '/Severity............: MAJORWARNING/,/^Description of Er
ror/p' diffline.txt | sed -ne '/^Severity/p' -e '/^Summary/,/^Description of Error/p' | sed '/^Description/d' | sed '/^$/d' | sed 's/^[ \t]*/
/;s/[ \t]*$//' > diffline2.txt
sed -n '
:a
/Sev/ {
N
/Sev.*Sev/ !{
s/\n/ /
ta
}
P
D
}' diffline2.txt > diffline3.txt