blog.monophile.net

Takaaki Yamamoto

東京工業大学において計算機科学と応用数学を学び、情報科学芸術大学院大学[IAMAS]においてメディア表現を専攻し修了。 現在は digitiminimi Inc. において、インフラエンジニアとして生計をたててている。 また、計算を主題に制作を行い、現代音楽作品や公共インスタレーション作品など技術提供を行う。 三輪眞弘に師事する。

List

ANSIカラーコードを削除する

概要

ANSIカラーコードっていうのはターミナル上で文字列をカラフルにするシステムで、 CUI操作では見やすくなってストレスが軽減されるんですけど、 いざ標準出力を違うプログラムに渡すとなると、結構邪魔なので、取り除く方法を調べました。 つけるのも面倒臭ければ除くのもめんどくさいみたいです。 今回はMacでもLinuxでも標準で備わっているsedで。 といいつつもLinuxとMacのsedは微妙に挙動が違うみたいなので、要注意です。

Linux

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

Mac

$ sed -E "s/"$'\E'"\[([0-9]{1,2}(;[0-9]{1,2})*)?m//g"

reference