小智 16
我正在寻找这个确切的 bash 问题的解决方案。我几乎错过了@Thomas Dickey 的评论,它为我提供了最优雅的解决方案。
echo -e $(cat test.txt)
Run Code Online (Sandbox Code Playgroud)
一些对我不起作用的事情是(显然你不能用管道来回声)
cat test.txt | echo -e
Run Code Online (Sandbox Code Playgroud)
或者
less -R test.txt
Run Code Online (Sandbox Code Playgroud)
我遇到的另一个问题是 echo -e 没有很好地打印文件中的换行符和连续空格。为了打印这些,我使用了以下内容。
echo -ne $(cat test.txt | sed 's/$/\\n/' | sed 's/ /\\a /g')
Run Code Online (Sandbox Code Playgroud)
这适用于包含的 test.txt 文件
\e[0;31mExa mple\e[0m
\e[0;31mExample line2\e[0m
Run Code Online (Sandbox Code Playgroud)