如何才能显示仅结束的所有作业?
当我尝试下面的命令时,它显示OK和NOTOK,因为两者都有“OK”
ctmpsm -listall application | grep OK
答案 0 :(得分:23)
您需要更具体的表达方式。试试grep " OK$"
或grep "[0-9]* OK"
。您想要选择与您想要的匹配的模式,但不匹配您不想要的模式。该模式将取决于您的整个文件内容可能是什么样的。
你也可以:grep -w "OK"
只匹配整个单词“OK”,例如“1 OK”但不匹配“10OK”或“OKFINE”。
$ cat test.txt | grep -w "OK"
1 OK
2 OK
4 OK
答案 1 :(得分:8)
这可能适合你
grep -E '(^|\s)OK($|\s)'
答案 2 :(得分:1)
试试这个:
Alex Misuno@hp4530s ~
$ cat test.txt
1 OK
2 OK
3 NOTOK
4 OK
5 NOTOK
Alex Misuno@hp4530s ~
$ cat test.txt | grep ".* OK$"
1 OK
2 OK
4 OK
答案 3 :(得分:1)
^
标记该行的开头,$
标记该行的结尾。这将只返回完全匹配的“确定”。
(如果您愿意,也可以使用双引号。)
grep '^OK$'
答案 4 :(得分:0)
这对我有用:
grep "\bsearch_word\b" text_file > output.txt ## \b indicates boundaries. This is much faster.
,或者
grep -w "search_word" text_file > output.txt
答案 5 :(得分:0)
试试这个: grep -P'^(tomcat!?)'tst1.txt
它将搜索txt文件中的特定单词。在这里,我们试图搜索单词'tomcat'
答案 6 :(得分:0)
最近我在grep中遇到了一个问题。我试图匹配模式x.y.z,grep返回x.y-z,使用一些正则表达式可以克服这个问题,但是使用grep进行整个单词匹配没有帮助。由于我正在编写的脚本是通用脚本,因此我无法像x.y.z或x.y-z一样限制搜索的特定方式。
我想到的快速方法是运行grep,然后进行条件检查
var =“ x.y.z”
var1 = grep -o x.y.z file.txt
如果[$ var1 == $ var]
回显“模式匹配完全”
其他
回声“模式不完全匹配”
fi
https://linuxacatalyst.blogspot.com/2019/12/grep-pattern-matching-issues.html
答案 7 :(得分:-2)
尝试以下命令,因为它完美运行:
grep -ow "yourstring"
crosscheck:-
从文件中删除word实例,然后重新执行此命令,它应显示空结果。