在tomcat服务器的catalina.out文件中有几个exception消息就像 –
java.lang.NullPointerException org.springframework.beans.factory.BeanCreationException java.lang.RuntimeException java.io.FileNotFoundException
我们希望grep除“java.io.FileNotFoundException”string之外的所有exception错误消息。 试着用下面的命令,但它不工作。
cat catalina.out | grep '.*(?<\!=java.io.FileNotFound)Exception\*.)'
你能帮忙找出正确的命令吗?
尝试一个多阶段的grep: cat <file> | grep Exception | grep -v java.io.FileNotFoundException cat <file> | grep Exception | grep -v java.io.FileNotFoundException
你可以连接多个grep语句作为@John在其他答案中build议或例如使用awk例如
awk'/ Exception / &&!/java.io.FileNotFoundException/'catalina.out
在你的样品上会产生
$ awk '/Exception/ && !/java.io.FileNotFoundException/' catalina.out java.lang.NullPointerException org.springframework.beans.factory.BeanCreationException java.lang.RuntimeException
这基本上说, 匹配所有具有 Exceptionstring的东西; 而 不是 java.io.FileNotFoundException