Oi tudo,
O meu script abaixo foi trabalhar bem até eu alterei o LOGFILE caminho (que inicialmente aponta para um arquivo dentro da mesma pasta do script de teste)
Apenas o event.log arquivo caminho for alterado, o resto ainda estão dentro da pasta actual.
Antes da mudança, executar o script funciona. Após a mudança, a partir da "
sed"Comandos em diante, não parece ser para acionar.
Eu separou o '
sed«Parte de um outro script, e que decorreu sob a sua própria, por isso, os comandos trabalho.
Mas de alguma maneira de a pôr em conjunto parece dar-me uma grande dor de cabeça.
Precisa de ajuda rapidamente.
Obrigado.
Código:
#!/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