Bạn có thể thử kịch bản này của tôi. Nó sẽ cho phép bạn chỉ định một tệp hoặc nó có đầu vào tiêu chuẩn. Bạn có thể định nghĩa biểu thức chính quy Python cho văn bản bạn muốn tô sáng. văn bản được tô sáng mặc định thành màu xanh neon (hey tôi sử dụng nền đen!) Nhưng bạn có thể thay đổi mã màu 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)
Đây là một ví dụ.
blessburn@blessburn:/tmp$ cat test.txt | ./colorme.py an
Triển vọng cho một rút NATO có trật tự từ Afgh một ist một bị hai thất bại như Tổng thống Hamid Karzai dem một giới hạn ded vào quân đội Hoa Kỳ một d các Talib một dừng cuộc đàm phán hòa bình.
blessburn@blessburn:/tmp$ ./colorme.py '(Af.*? |NA[\w]{2})' test.txt
Triển vọng cho một cuộc rút quân có trật tự của NATO khỏi Afghanistan phải chịu hai thất bại khi Tổng thống Hamid Karzai yêu cầu giới hạn đối với quân đội Hoa Kỳ và Taliban tạm dừng các cuộc đàm phán hòa bình.
highlight
lệnh