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



我试着解决下面的问题,但似乎找不到解决方案。我基本上想要grep突出显示某个单词中的第二个匹配字符。

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

回声"大胆"| grep(提单)"——> b l o d (b和l粗体)

我想看到的是bold (l in bold)

可以使用两次grep:

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

第一个grep遍历您想要的所有内容,第二个grep遍历所有带有l的行并突出显示它们,但也遍历其他所有内容($是一行的末尾),因此您不会丢失任何匹配。

这给:

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

bo d l

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

ho d l

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

请注意,您需要启用高亮显示,例如grep --color=auto

最新更新