Tôi cần một cách tìm kiếm tệp bằng grep thông qua cụm từ thông dụng từ dòng lệnh Unix. Ví dụ: khi tôi nhập vào dòng lệnh:Grep và Python
python pythonfile.py 'RE' 'file-to-be-searched'
Tôi cần biểu thức chính quy 'RE'
để tìm kiếm trong tệp và in ra các dòng khớp.
Dưới đây là đoạn code tôi có:
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'
Nhưng khi tôi nhập một từ mà không phải là hiện tại, no matches found
không in
Nếu bạn thực sự muốn biểu thức chính quy kiểu python trong grep, tùy chọn --perl-regex để gre p thực sự gần gũi. Nó cung cấp cho bạn hỗ trợ biểu thức chính quy perl. (Ngoài ra, tùy chọn không thích hợp yêu thích của tôi để grep là --color = always) –