嗨,我有一个有很多信息的日志文件,很难找到我要找的东西,所以我来到这个命令中,它只显示我想在日志中看到的内容,它将充当侦听器,当模式匹配时只显示搜索结果。
tail -f file.log | GREP_COLOR='01;36' egrep --color=always "\"stringOneExample\""而且工作正常,问题是如果我再输一次grep
tail -f file.log | GREP_COLOR='01;36' egrep --color=always "\"jsonKeyOne\"" | GREP_COLOR='01;31' egrep --color=always "\"jsonKeyTwo\""我认为不起作用,因为当我将其中一个输送到另一个文件时,由于第一个文件的结果不包含第二个的条件,所以没有显示任何内容,所以我希望对all文件进行两个(或更多) grep操作,并给每个字符串一个不同的颜色,以便更容易地发现差异。
注意,如果我在末尾添加了:\$,它将充当一个正常的尾,并向我展示许多我不想要的额外信息。
tail -f file.log | GREP_COLOR='01;36' egrep --color=always "\"stringOneExample\":|$"发布于 2020-03-12 19:47:12
更好地使用:
grep -e 'jsonKeyOne' -e 'jsonKeyTwo'…或者你的条件。根据您的grep风格,也可以使用-E‘jsonKeyOne\jsonKeyTwo’。这是最快的选择,只有条款。
不同的颜色是这样工作的:第一项只有颜色,所有其他线都没有颜色,下一项有不同的颜色和所有其他的线条,太…了。直到最后一项,它的颜色和所有其他线条。
无论是grep还是语法突出显示,最好是两者兼而有之。
https://unix.stackexchange.com/questions/572586
复制相似问题