share facebook facebook 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"

ふう、やれやれ。

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

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。