Necesito una forma de buscar un archivo usando grep a través de una expresión regular de la línea de comandos de Unix. Por ejemplo cuando escribo en la línea de comandos:Grep y Python
python pythonfile.py 'RE' 'file-to-be-searched'
necesito la expresión regular 'RE'
que se debe buscar en el archivo e imprimir las líneas coincidentes.
Aquí está el código que tengo:
import re
import sys
search_term = sys.argv[1]
f = sys.argv[2]
for line in open(f, 'r'):
if re.search(search_term, line):
print line,
if line == None:
print 'no matches found'
Pero cuando entro en una palabra que no está presente, no se imprime no matches found
Si realmente desea expresiones regulares de estilo python en grep, la opción --perl-regex para gre p está realmente cerca. Le da soporte de expresiones regulares estilo perl. (Además, mi opción favorita menos utilizada para grep es --color = always) –