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 .
#!/usr/bin/env python
import sys
import re
def highlight_text(text,pat):
def replacement_funk(matchobj): return '\x1b[42m%s\x1b[0m'%matchobj.group(0)
return re.sub(pat,replacement_funk,text)
if __name__ == '__main__':
if len(sys.argv) == 2:
input = sys.stdin
pat = sys.argv[1]
elif len(sys.argv) == 3:
input = open(sys.argv[2])
pat = sys.argv[1]
else:
sys.stderr.write("colorme pattern [inputfile]")
text = input.read()
print highlight_text(text,pat)
Aquí hay un ejemplo.
blessburn@blessburn:/tmp$ cat test.txt | ./colorme.py 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.
blessburn@blessburn:/tmp$ ./colorme.py '(Af.*? |NA[\w]{2})' test.txt
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.
highlight
comando