我试着解决下面的问题,但似乎找不到解决方案。我基本上想要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
。