color tee コマンド "cotee" 素案
tail -f で、ログを眺めているときに、キーワードを見落とさないように色を付けたい。
実行例。
$ cat cotee | ./cotee #!/usr/bin/ruby # # cotee - color tee command. read from stdin and write to stdout with color and files # # filename = ARGV.shift begin file = open("#{filename}", "w") if filename ARGF.each_line do |line| print line.gsub(/ERROR/, "\e[31m" + '\&' + "\e[0m") # ERRORに色を付ける file.print line if file end rescue => e puts e ensure file.close if file end
こんなことができたらいいな。
- 色をつける文字を正規表現で指定可能にする
- 何色をつけるか指定可能にする
- 上記2つの組み合わせを可能にする
- tee表示中に画面からの入力が出力ファイルにも反映される
- ログを流しているときにあとで見直しやすいように、区切りを入れたり、説明を入れたり
source
#!/usr/bin/ruby # # cotee - color tee command. read from stdin and write to stdout with color and files # # filename = ARGV.shift begin file = open("#{filename}", "w") if filename ARGF.each_line do |line| print line.gsub(/ERROR/, "\e[31m" + '\&' + "\e[0m") # ERRORに色を付ける file.print line if file end rescue => e puts e ensure file.close if file end