相关疑难解决方法(0)

如何让 tail -f 显示彩色输出

我希望能够跟踪服务器日志文件的输出,该文件包含以下消息:

INFO
SEVERE
Run Code Online (Sandbox Code Playgroud)

等,如果是SEVERE,则以红色显示该行;如果是INFO,则为绿色。我可以为tail帮助我执行此操作的命令设置什么样的别名?

command-line colors alias highlighting tail

298
推荐指数
10
解决办法
23万
查看次数

说服 grep 输出所有行,而不仅仅是那些匹配的行

假设我有以下文件:

$ cat test

test line 1
test line 2
line without the search word
another line without it
test line 3 with two test words
test line 4
Run Code Online (Sandbox Code Playgroud)

默认情况下,grep返回包含搜索词的每一行:

$ grep test test

test line 1
test line 2
test line 3 with two test words
test line 4
Run Code Online (Sandbox Code Playgroud)

传递--color参数 togrep将使其突出显示与搜索表达式匹配的行部分,但它仍然只返回包含该表达式的行。有没有办法grep输出源文件中的每一行,但突出显示匹配项?

我目前实现这一点的可怕黑客(至少在没有 10000+ 连续行且没有匹配项的文件上)是:

$ grep -B 9999 -A 9999 test test
Run Code Online (Sandbox Code Playgroud)

两个命令的截图

如果grep不能做到这一点,是否有另一个提供相同功能的命令行工具?我摆弄过ack,但它似乎也没有选择。

grep highlighting

140
推荐指数
5
解决办法
6万
查看次数

在文本中突出显示正则表达式的命令?

是否有一个命令可以突出显示文本中的某个表达式?

我正在寻找类似“搜索”功能的less,但在标准输出上输出普通文本,而不是less查看器。

例子:

$ cat test.txt | highlight "an"
Run Code Online (Sandbox Code Playgroud)

对于前景距离Afgh有序撤出北约IST遭遇了两次挫折总统卡尔扎伊德国马克关于美国军队DED限制d的塔里布暂停和谈。

它可以使用颜色或任何其他方式来突出指定的正则表达式。

bash highlighting

14
推荐指数
2
解决办法
1万
查看次数

级联 grep 将颜色代码匹配为模式

我正在将一个grep命令的输出传输到另一个命令中grep。第一个grep是 using --color=always,因此第一个匹配项是彩色的。实际上,这意味着匹配包含在两个颜色代码之间,即\033[1;31m\033[0m

现在的问题是如果第二个模式是m,那么它匹配上一个匹配的颜色代码:

echo A B C | grep --color=always A | grep m
Run Code Online (Sandbox Code Playgroud)

同样,数字31也会匹配。

有没有办法解决?

更新:

我预计不用说我需要将火柴着色,因此摆脱--color=always对我来说并不是一个令人满意的解决方案。

grep colors

5
推荐指数
2
解决办法
1638
查看次数

标签 统计

highlighting ×3

colors ×2

grep ×2

alias ×1

bash ×1

command-line ×1

tail ×1