Tengo una cadena larga en una línea y quiero resaltar todas las ocurrencias de un carácter/subcadena usando grep --color
en la línea de comandos. Sin embargo, esto sólo resalta las coincidencias en "trozos" de 32. Si hay más de 32 coincidencias en una línea, sólo se resaltan las primeras 32, la cadena de entrada se repite y el siguiente trozo de 32 coincidencias se resalta en la(s) siguiente(s) línea(s). Por ejemplo (sustituyendo "rojo" por "negrita"):
for i in {1..4}; do echo -n 1234567890; done | grep --color "[0123456789]"
12345678901234567890123456789012 34567890
12345678901234567890123456789012 34567890
¿Cómo puedo obtener todas las coincidencias en una línea sin duplicar las líneas de entrada?
Estoy usando Darwin en Big Sur y he probado bash y zsh. La duplicación no es un problema si no uso el --color
o utilizar -o
. Todo funciona como se espera en Linux (Fedora 7.3).