色付きgrep
30分シリーズ、その25。
ファイル名の部分を赤く表示するgrep。
$ pythno colorgrep.py hiki_fortune.py:#!/usr/bin/env python wc.py:#!/usr/bin/env python
まず、color.pyを作る。
import sys Normal=0 Black = 30 Red = 31 Green = 32 Brown = 33 Blue = 34 Purple = 35 Cyan = 36 LightGray = 37 def printc(msg,fg=Normal,bg=Normal): write(sys.stdout,str(msg)+"\n",fg,bg) def write(io,msg,fg=Normal,bg=Normal): io.write("\x1b[%sm\x1b[%sm%s" % (fg,bg+10,msg)) if __name__ == '__main__': printc('hello',fg=Black,bg=Red) printc(10)
そしてcolorgrep.pyをば。
import color import sys import os io = os.popen('grep ' + ' '.join(sys.argv[1:])) for line in io: i = line.index(':') color.write(sys.stdout,line[0:i],fg=color.Red) color.write(sys.stdout,line[i:]) io.close()
- ダメだ。今日はもう疲れた