ANSIカラーでファイルを表示

ANSIカラーでファイルを表示

ANSI色を含むファイルがあります。

テスト.txt:
\e[0;31mExample\e[0m

そのファイルの内容を端末に表示したいのですが、cat色も表示したいです。

ベストアンサー1

私はこの正確なbash問題に対する解決策を探しています。私は最もエレガントなソリューションを提供した@ Thomas Dickeyのコメントをほとんど見逃しました。

echo -e $(cat test.txt)

私に合わないいくつかの点は次のとおりです(明らかにパイプを通してエコーすることはできません)。

cat test.txt | echo -e

または

less -R test.txt

私が持っているもう一つの問題は、echo -eがファイルの改行と連続した空白をうまく印刷しないことです。これを印刷するには、以下を使用しました。

echo -ne $(cat test.txt | sed  's/$/\\n/' | sed 's/ /\\a /g')

これは、次の内容を含むtest.txtファイルで機能します。

\e[0;31mExa         mple\e[0m
\e[0;31mExample line2\e[0m

おすすめ記事