wie man genaues Muster grep

952
user324391

Ich habe mehrere grep / egrep-Ideen mit verschiedenen Optionen ausprobiert, aber hier funktionierte nichts. Ich versuche, die genaue Übereinstimmung des Musters, das ich in einem Protokoll sehe, zu finden.

Zum Beispiel möchte ich nur ein Muster "ERROR" und nicht ein Wort "ERROR123" erhalten.

Ich habe zwei Muster, um Fehler / Ausnahmen zu überprüfen. Ich bin auf der Suche nach einer Lösung, bei der ich nur genau passen kann, egrep, awk oder sed.

Hier ist das Update:

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; 

Wenn ich ein Muster "Fehler / Ausnahme" sehe, muss ich benachrichtigt werden. Aber wenn ich ein Muster habe - Exceptioncase / Errornote. es wirft auch einen exit2. Ich brauche es nur bei "Fehler / Ausnahme".

Irgendwelche Vorschläge ?

0
Ich schlage vor, dass Sie Ihre Frage klären. `ERROR123` *** passt nicht zum Muster` ERROR` (weil es `ERROR` enthält). Suchen Sie also _lines_, die "E", "R", "R", "O" und "R" und nichts anderes enthalten? Oder suchen Sie nach Vorkommen des _word_ `ERROR`? Wie definieren Sie _Wort_? Muss es vor und nach Leerzeichen stehen? Oder kann vor oder nach einer Interpunktion gefolgt werden? Bitte sagen Sie abschließend, welches Betriebssystem Sie verwenden. G-Man vor 9 Jahren 0
G-Man, danke für eine schnelle Wende. Ich möchte in der Lage sein, nur ein Wort grep - Error / Exception, nichts weiter als das, kein Tailing oder ein Kopfwort. Nur diese Spiele. Die Wörter haben Leerzeichen vor und am Ende. Es ist Linux !!! user324391 vor 9 Jahren 0
Ich denke, Sie müssen einige Beispielzeilen und Ihre Versuche, sie zu suchen / zu suchen, und Ihre gewünschte Ausgabe angeben. Grep kann Zeilen finden, die eine exakte Zeichenfolge oder eine ganze Zeile enthalten ... aber ich kann keine Antwort erraten Xen2050 vor 9 Jahren 0
wie wäre es mit `[[: space:]] ERROR [[: space:]]`…? stib vor 9 Jahren 0
Warum verwenden Sie die Option `q` /" quiet "in` grep -qw`, wenn Sie das Muster erfassen möchten? aff vor 9 Jahren 0

0 Antworten auf die Frage