Ho bisogno di un modo di cercare un file usando grep tramite un'espressione regolare dalla riga di comando Unix. Per esempio, quando si digita nella riga di comando:Grep e Python
python pythonfile.py 'RE' 'file-to-be-searched'
Ho bisogno l'espressione regolare 'RE'
da ricercare nel file e stampare le linee corrispondenti.
Ecco il codice che ho:
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'
Ma quando entro in una parola che non è presente, no matches found
non stampa
Se si desidera veramente espressioni regolari in stile python in grep, l'opzione --perl-regex su gre p è davvero vicino. Ti offre supporto per espressioni regolari in stile perl. (Inoltre, la mia opzione underused preferita per grep è --color = always) –