/ / Resalte la segunda aparición de un carácter dentro de una palabra: expresiones regulares, linux, bash

Resalta la segunda aparición de un personaje dentro de una palabra: regex, linux, bash

Intenté resolver el problema de abajo pero no pude encontrar una solución. Básicamente queria para resaltar el segundo carácter coincidente en una palabra determinada.

Por ejemplo: mi patrón es: b|l

echo "negrita" | grep "[bl]" -> segundoold (byl en negrita)

Lo que queria ver era bold (l en negrita)

Respuestas

0 para la respuesta № 1

Puedes hacer esto usando dos veces:

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

El primero aspa todo lo que quieras, el segundo agarra todas las líneas con una l y los resalta, pero también se agacha todo lo demás ($ es el final de una línea), por lo que no pierde ninguna partida.

Esto da:

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

bolre

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

Holre

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

enlace

Tenga en cuenta que debe habilitar el resaltado, por ejemplo, grep --color=auto para que esto tenga sentido