突出显示单词中第二次出现的字符

时间:2014-03-16 00:07:12

标签: regex linux bash

我尝试解决以下问题,但似乎无法找到解决方案。我基本上希望突出显示某个单词中的第二个匹配字符。

例如:我的模式是:b|l

  回声“粗体”| grep'[bl]' - > b o l d(b和l以粗体显示)

我想看到的是bo l d(l以粗体显示)

1 个答案:

答案 0 :(得分:0)

您可以使用两次执行此操作:

echo "bold" | grep '[bl]' | egrep 'l|$'

第一个 greps你想要的一切,第二个greps所有的行l并突出显示它们,但也gre gre其他一切($是一行的结尾),所以你不会丢失任何比赛。

这给出了:

echo "bold" | grep '[bl]' | egrep 'l|$'
  

波的 d

echo "hold" | grep '[bl]' | egrep 'l|$'
  

浩的 d

echo "bond" | grep '[bl]' | egrep 'l|$'
  

请注意,您需要启用突出显示,例如: grep --color=auto这是有道理的。