彩色正则表达式匹配 – 不会丢失

当使用grep –color =总是我可以得到漂亮的颜色突出显示正则表达式匹配。

但是,grep只返回至少有一个匹配的行。相反,我正在寻找一种方法来简单地突出正则表达式匹配,同时保留所有其他输入,而不会丢弃任何匹配的行。

我已经尝试使用sed来处理颜色,并阅读了grep文档,但我似乎无法得到我想要的内容

如果我的描述不明显,我想要:

INPUT:

fred
> ted
>红色
>铅

正则表达式:

>“。*红”

OUTPUT:

> fred(红色)
> ted
>红色(红色)
>铅

所以我可以做:

list_stuff | color_grep "make_this_stand_out_but_dont_hide_the_rest"

编辑:

我找到了一个不漂亮的解决方案,但它的作用是:

谢谢:
http://www.pixelbeat.org/docs/terminal_colours/

特别是脚本(我修改/简化):
http://www.pixelbeat.org/talks/iitui/sedgrep

function sedgrep ()
{
    C_PATT=`echo -e '\033[33;01m'`
    C_norM=`echo -e '\033[m'`

    sed -s "s/$1/${C_PATT}&${C_norM}/gi"
}

仍然寻找一个更简单的方法来做到这一点!

最简单的解决方案是使用egrep –color = always’text | ^’,它将匹配所有的行开始,但只对所需的文本进行着色。

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...