2013-10-24 6 views

Antwort

21

Sie benötigen einen spezifischeren Ausdruck. Versuchen Sie grep " OK$" oder grep "[0-9]* OK". Sie möchten ein Muster auswählen, das Ihren Vorstellungen entspricht, aber nicht mit dem übereinstimmt, was Sie nicht möchten. Dieses Muster hängt davon ab, wie der gesamte Dateiinhalt aussehen könnte.

Sie können auch tun: grep -w "OK" die nur ein ganzes Wort "OK" entspricht, wie "1 OK", aber nicht "1OK" oder "OKFINE".

$ cat test.txt | grep -w "OK" 
1 OK 
2 OK 
4 OK 
+0

Das hat gut funktioniert .. aber jetzt versuche ich es mit anderen Befehlen wie 'ctmsm -listall application | grep -w "ABCD123" 'Es gibt Zeilenanzeigen' ABCD123' und 'ABCD123 @' aber ich will nur 'ABCD123' – aftermath

+0

Was * ist erlaubt nach' ABCD123'? Einfaches Ende der Linie? Raum? Tab? Möglicherweise irgendwelche von denen? – lurker

+0

keine .. nur 'ABCD123' sollte – aftermath

6

Dies kann für Sie arbeiten

grep -E '(^|\s)OK($|\s)' 
+0

Können Sie die regulären Ausdrücke hier erklären? – Zypps987

-1

die unter Befehl Versuchen, weil es perfekt funktioniert:

grep -ow "yourstring" 

crosscheck:- 

Entfernen Sie die Instanz Wort aus Datei, dann führe dieses com erneut aus mand und es sollte leeres Ergebnis anzeigen.

+0

Downvote: das '-o' ist nicht relevant und das' -w' ist bereits in der am höchsten gewählten Antwort enthalten. – tripleee

0

Dieser arbeitete für mich:

grep "\bsearch_word\b" text_file > output.txt ## \b indicates boundaries. This is much faster. 

oder

grep -w "search_word" text_file > output.txt 
0

versuchen, dieses: grep -P '^ (tomcat !?)' tst1.txt

Es sucht nach einem bestimmten Wort in der txt-Datei. Hier versuchen wir das Wort 'tomcat' zu suchen

+0

Hallo Willkommen zu Stack Overflow. Bitte editiere deine Antwort so, dass sie die gestellte Frage widerspiegelt, wie man OK von NOTOK unterscheidet. Vielen Dank – Spangen

Verwandte Themen