¿Hay un comando que resalta una cierta expresión en el texto?
Estoy buscando algo como la función 'buscar' en menos, pero con salida de texto normal en stdout, en lugar del less
visor.
Ejemplo:
$ cat test.txt | highlight "an"
Las perspectivas de una retirada de la OTAN ordenada de AFGH un ist un sufrido dos reveses como presidente Hamid Karzai dem un límite ded sobre las tropas de Estados Unidos una d la Talib una detuvo las conversaciones de paz.
Podría usar color o cualquier otro medio para resaltar la expresión regular especificada.
bash
highlighting
Franco
fuente
fuente
highlight
comandoRespuestas:
No estoy seguro si esto se debe a una función o simplemente a algún efecto secundario oculto, pero esto funciona en GNU
grep
2.11:fuente
grep 'an' OR ''
. El''
éxito no coincide con nada en cada ubicación de la entrada. Soloan
se resalta el, porque no se puede resaltar la nada. :-)grep --color -e 'an' -e ' '
(hacer coincidir un espacio, que no se puede colorear, funcionó). Mucho mejor que la tuberíased -e ''/an/s//$(printf "\033[33;1m&\033[0m")/''
, pero tal vez este último sea más eficiente. Cambie 'an' por otro término de búsqueda. ;)bashrc
alias, y ahora todos mis alias están resaltados en rojo. ¡Súper!alias aliases="clear;cat ~/.bashrc|grep --color \"alias\""
ack tiene una
--passthru
opción que hará esto:fuente
ack-grep
... (el nombreack
se aplica a un convertidor de código Kanji)Puedes probar este script mío. Le permitirá especificar un archivo o tomará una entrada estándar. Puede definir una expresión regular de Python para el texto que desea resaltar. el texto resaltado está predeterminado en verde neón (¡oye, uso un fondo negro!) Pero puede cambiar el código de color ANSI .
Aquí hay un ejemplo.
Las perspectivas de una retirada de la OTAN ordenada de AFGH un ist un sufrido dos reveses como presidente Hamid Karzai dem un límite ded sobre las tropas de Estados Unidos una d la Talib una detuvo las conversaciones de paz.
Las perspectivas de una retirada ordenada de la OTAN de Afganistán sufrieron dos reveses cuando el presidente Hamid Karzai exigió límites a las tropas de Estados Unidos y los talibanes suspendieron las conversaciones de paz.
fuente
<b>
si necesita poner en negrita parte de una palabra.$cat test.txt | grep --colour=auto -C 100000 an
"color" también funciona. También puede definir un alias para que grep use siempre la opción:
alias grep='grep --colour=auto -C 100000'
Ponga lo anterior en /etc/profile.d/ en algún lugar o su .bashrc o lo que sea.
fuente
-C 1000000
nunca podrás volver a jugar. Simplemente hagaalias highlight='grep --colour=auto -C 1000000'. The cat in the first example is also not necessary:
grep --colour = auto -C 100000 file`.grep
maneja la colección de líneas de contexto.)