2012-12-16 14 views
5

Ich bin auf der Suche nach einer Möglichkeit, eine Datei für ein bestimmtes Muster mit negativem Muster grep. Ich habe eine Log-Datei Hexe berichtet Einheiten Version und ich möchte sehen, ob es einen Bericht Version andere Einheit Hexe ist dann 26.grep mit negativem Muster

Der nächstgelegene ich bekommen konnte ist:

Katze My.Log | grep -i -e "version = 0x [^ 2] [^ 6]"

Die obige return eine Zeile enthält "version = 0x13", aber nicht wieder eine Zeile enthält "version = 0x23"

Gibt es eine Möglichkeit Grep dies zu sagen?

Danke.

+1

'grep -i 'version = 0x [0-9] +' My.Log | grep -v 'version = 0x26''? Dies ist keine Programmierfrage, [Unix/Linux SE] (http://unix.stackexchange.com/) scheint dafür geeigneter zu sein. – DCoder

+0

Das wird nicht funktionieren - das + muss zitiert werden oder du brauchst -E. –

Antwort

7

Interpretieren Sie das Muster als perl regulären Ausdruck mit dem -P Schalter:

grep -iP 'version=0x(?!26)\d\d' my.log 
+0

Danke! Das war genau das, wonach ich suchte! – crowd

7
grep -i "version=0x[0-9]\\+" my.log | grep -iv "version=0x26" 
+0

Danke für Ihre Antwort! – crowd

Verwandte Themen