当使用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 | ^’,它将匹配所有的行开始,但只对所需的文本进行着色。
原文地址:https://www.jb51.cc/regex/357444.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。