Как я могу отображать все задания, которые закончились только OK?
Когда я пытаюсь выполнить приведенную ниже команду, он показывает как OK, так и NOTOK, так как оба имеют "ОК"
ctmpsm -listall application | grep OK
Как я могу отображать все задания, которые закончились только OK?
Когда я пытаюсь выполнить приведенную ниже команду, он показывает как OK, так и NOTOK, так как оба имеют "ОК"
ctmpsm -listall application | grep OK
Вам нужно более конкретное выражение. Попробуйте grep " OK$"
или grep "[0-9]* OK"
. Вы хотите выбрать шаблон, который соответствует желаемому, но не соответствует тому, что вы не хотите. Этот шаблон будет зависеть от того, как будет выглядеть ваше содержимое всего содержимого.
Вы также можете сделать: grep -w "OK"
, который будет соответствовать только целому слову "OK", например "1 OK", но не соответствует "1OK" или "OKFINE".
$ cat test.txt | grep -w "OK"
1 OK
2 OK
4 OK
Это может сработать для вас
grep -E '(^|\s)OK($|\s)'
Попробуйте следующее:
Alex [email protected] ~
$ cat test.txt
1 OK
2 OK
3 NOTOK
4 OK
5 NOTOK
Alex [email protected] ~
$ cat test.txt | grep ".* OK$"
1 OK
2 OK
4 OK
Это работало для меня:
grep "\bsearch_word\b" text_file > output.txt ## \b indicates boundaries. This is much faster.
или,
grep -w "search_word" text_file > output.txt
попробуйте следующее: grep -P '^ (tomcat!?)' tst1.txt
Он будет искать определенное слово в txt файле. Здесь мы пытаемся найти слово 'tomcat'
^
отмечает начало строки, а $
отмечает конец строки. Это вернет только точные совпадения "OK".
(Это также работает с двойными кавычками, если это ваше предпочтение.)
grep '^OK$'
Попробуйте выполнить команду ниже, потому что она отлично работает:
grep -ow "yourstring"
crosscheck:-
Удалите экземпляр слова из файла, затем повторно выполните эту команду, и он должен отобразить пустой результат.