share facebook facebook2 twitter menu hatena pocket slack

2014.09.15 MON

色が付いた標準出力をリダイレクトしたらエスケープ文字がアレな場合の対処

川原 洋平

WRITTEN BY川原 洋平

こんにちわ、cloudpackかっぱ(@inokara) です。

参考

メモ

以下のような出力は実に美しい。
この出力は美しい(リダイレクトする前の標準出力)

しかしリダイレクトすると以下のようにエスケープ文字(^[[0;34m とか ^[[0m)がうざい…

^[[0;34mHTTP/1.1 200   0.37 secs:    2905 bytes ==> GET  /index.html^[[0m
^[[0;34mHTTP/1.1 200   0.37 secs:    2905 bytes ==> GET  /index.html^[[0m
^[[0;34mHTTP/1.1 200   0.37 secs:    2905 bytes ==> GET  /index.html^[[0m
^[[0;34mHTTP/1.1 200   0.37 secs:    2905 bytes ==> GET  /index.html^[[0m
^[[0;34mHTTP/1.1 200   0.37 secs:    2905 bytes ==> GET  /index.html^[[0m
^[[0;34mHTTP/1.1 200   0.37 secs:    2905 bytes ==> GET  /index.html^[[0m

そんな時には…以下で置換しましょう。

sed -r "s/x1B[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"

ふう、やれやれ。

元記事はこちらです。
色が付いた標準出力をリダイレクトしたらエスケープ文字がアレな場合の対処