J'ai besoin d'un moyen de rechercher un fichier en utilisant grep via une expression régulière de la ligne de commande Unix. Par exemple, lorsque je tape dans la ligne de commande:Grep et Python
python pythonfile.py 'RE' 'file-to-be-searched'
J'ai besoin l'expression régulière 'RE'
à rechercher dans le fichier et imprimer les lignes correspondantes.
Voici le code que j'ai:
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'
Mais quand je rentre un mot qui n'est pas présent, no matches found
n'imprime pas
Si vous voulez vraiment des expressions régulières de style python dans grep, l'option --perl-regex p est vraiment proche. Il vous donne un support d'expression régulière de type perl. (De plus, mon option sous-utilisée préférée pour grep est --color = always) –