이 스크립트를 시험해 볼 수 있습니다. 파일을 지정하거나 표준 입력을받을 수 있습니다. 강조 표시하려는 텍스트에 대해 Python 정규식을 정의 할 수 있습니다. 강조 표시된 텍스트는 기본적으로 네온 녹색 (검정색 배경을 사용합니다!)이지만 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)
다음 은 예입니다.
blessburn@blessburn:/tmp$ cat test.txt | ./colorme.py an
에 대한 전망 Afgh에서 질서 NATO 탈퇴는 IST는 대통령 하미드 카르자이와 같은 고통이 개 좌절 민주 미국 군대에 DED 한계 탈 리브는 D 평화 협상을 중단합니다.
blessburn@blessburn:/tmp$ ./colorme.py '(Af.*? |NA[\w]{2})' test.txt
하미드 카르자이 대통령이 미군에 대한 제한을 요구하고 탈레반이 평화 협상을 중단함에 따라 아프가니스탄 에서 질서 정연한 NATO 철수에 대한 전망 은 두 가지 난관을 겪었다.
highlight
명령