आप मेरी इस पटकथा को आजमा सकते हैं। यह आपको एक फ़ाइल निर्दिष्ट करने देगा या यह मानक इनपुट लेता है। आप जिस पाठ को हाइलाइट करना चाहते हैं, उसके लिए आप पायथन नियमित अभिव्यक्ति को परिभाषित कर सकते हैं। नीयन हरे पर हाइलाइट किए गए टेक्स्ट डिफॉल्ट (हे मैं एक काली पृष्ठभूमि का उपयोग करता हूं!) लेकिन आप एएनएसआई रंग कोड को बदल सकते हैं ।
#!/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)
यहाँ एक उदाहरण है।
blessburn@blessburn:/tmp$ cat test.txt | ./colorme.py an
के लिए संभावनाएँ एक Afgh से अर्दली नाटो वापसी एक IST एक के राष्ट्रपति हामिद करजई के रूप में सामना करना पड़ा दो झटके dem एक संयुक्त राज्य अमेरिका सैनिकों पर डेड सीमा एक घ तालिब एक रुका शांति वार्ता।
blessburn@blessburn:/tmp$ ./colorme.py '(Af.*? |NA[\w]{2})' test.txt
अफगानिस्तान से नाटो की वापसी की एक क्रमिक संभावनाओं के कारण दो झटके लगे क्योंकि राष्ट्रपति हामिद करजई ने संयुक्त राज्य के सैनिकों पर सीमा की मांग की और तालिबान ने शांति वार्ता को रोक दिया।
highlight
कमांड