如何为grep输出着色

dux*_*dux 6 linux bash

当我打字

memcached -vv 2>&1 | grep --color=always "SET\|GET"
Run Code Online (Sandbox Code Playgroud)

我得到了不错的 memcached 统计数据

获取 AR-City-1

GET rest-part-241

SET rest-part-241 值 len 为 685

GET main-rest-list-1

将其通过管道传输到某些东西会很棒,并且颜色GET为绿色而不是默认的红色。

我怎么能那样做?

小智 6

这可能会写得更短,但解决方案给出了结果:

memcached -vv 2>&1 | sed -e "s/^GET.*$/\x1b[31m&\x1b[0m/" | sed -e "s/^SET.*$/\x1b[32m&\x1b[0m/"
Run Code Online (Sandbox Code Playgroud)

或者,如果您希望使用背景颜色而不是前景色:

memcached -vv 2>&1 | sed -e "s/^GET.*$/\x1b[41m&\x1b[0m/" | sed -e "s/^SET.*$/\x1b[42m&\x1b[0m/"
Run Code Online (Sandbox Code Playgroud)

所以 GET 是绿色的,SET 是红色的。