如何根據搜尋按需追蹤並對結果進行著色

如何根據搜尋按需追蹤並對結果進行著色

您好,我有一個包含大量資訊的日誌文件,很難找到我要查找的內容,因此我使用此命令僅顯示我想在日誌中看到的內容,它將充當偵聽器當模式匹配時只顯示搜尋結果

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\""

我認為不起作用,因為當我通過管道將一個連接到另一個時,因為第一個結果不包含第二個條件,所以沒有顯示任何內容,所以我想對所有文件進行兩個(或多個)grep 操作,然後給出每根繩子都有不同的顏色,以便更容易發現差異

注意如果我在末尾添加 :|$ ,它將充當常規尾部並向我顯示許多不是我想要的額外信息

 tail -f file.log | GREP_COLOR='01;36' egrep --color=always "\"stringOneExample\":|$"

答案1

最好使用:

grep -e 'jsonKeyOne' -e 'jsonKeyTwo'

....按照 OR 您的條件。根據您的 grep 風格, -E 'jsonKeyOne|jsonKeyTwo' 也是可能的。這是最快的選項,僅包含條款。

不同顏色的工作方式如下:第一個術語僅著色,所有其他線條未著色,下一個術語具有不同顏色和所有其他線條…直到最後一個術語具有其顏色和所有其他線條。

grep 或語法高亮,最好不要同時使用。

相關內容