ログを「非ANSI化」する方法は?
最近、コマンドラインツールでは、ログ出力に派手なANSI色を使用する傾向があります(たとえば、NPMと多くのnodejsベースのツール、rvm、docker、およびその他のいくつかの「モダン」ツール)。 これにより、画面(*)で読むのは便利ですが、出力をログファイルにパイプしたり、さまざまなリモート実行ツールやWebベースの監視ソリューションのようにANSIを適切に処理しないトランスポートを介して送信したりする場合は、あまり良くありません。より成熟したツールの多くは、少なくとも出力がTTYでなく、色が無効になっていることを検出する良識を持っていましたが、これらの新しい「ユーザーフレンドリーな」CLIではできませんでした。これにより、パイプでANSI色を取り除こうとしましたさらに別のプロセスによる出力。 出力をsed-ingするs/\x1B\[[0-9]*\w//gことは仕事を成し遂げたようですが、よりクリーンなアプローチは正規表現を私のすべてのスクリプトに貼り付けるだけですか? (*)少なくとも、ツールが暗い背景の端末で暗い赤でエラーを表示しようとするまで。