Próbowałem kilku pomysłów grep / egrep z różnymi opcjami, ale żadna nie działała tutaj. Próbuję grep dokładnie dopasować wzór, którego szukam w dzienniku.
Na przykład chcę, aby grep był wyświetlany tylko wzorzec „ERROR”, a nie słowo „ERROR123”.
Mam dwa wzorce, aby sprawdzić błąd / wyjątek. Szukam rozwiązania, w którym mogę tylko grep, egrep, awk lub sed dokładnie dopasować.
Oto aktualizacja:
ERRCNT=`cat $LogFile | tail -c +$lastPosition | head -c +$difference | grep -qw "$EXPR1|$EXPR2"`
PATTERN=$ERRCNT
if [ -n "$ERRCNT" ]; then
echo "$MSG : $PATTERN"
exit 2;
else
echo "OK - NO ERROR CODES FOUND IN THE LOG"
exit 0;
fi;
Kiedy widzę wzór „Błąd / wyjątek”, muszę zostać powiadomiony. Ale kiedy mam wzór - wyjątek / błąd. rzuca również exit2. Potrzebuję go tylko w „Błędzie / wyjątku”.
Jakieś sugestie ?
grep
bash-scripting
egrep
użytkownik324391
źródło
źródło
ERROR123
nie pasuje do wzorcaERROR
(ponieważ zawieraERROR
). Więc szukasz linie , które zawierająE
,R
,R
,O
, iR
i nic więcej ? A może szukasz wystąpienia tego słowaERROR
? Jak definiujesz słowo ? Czy musi być poprzedzony spacjami? Czy może być poprzedzony i / lub poprzedzony interpunkcją? Na koniec powiedz, jakiego systemu operacyjnego używasz.[[:space:]]ERROR[[:space:]]
…q
/ „quiet”,grep -qw
jeśli chcesz uchwycić wzór?