考虑以下echo命令:
echo -e "at\r"这将在命令行上生成输出at,即已经解释了\r特殊字符。我想对文件中的一些文本执行完全相同的操作。假设完全相同的序列
at\r被写到一个名为at.txt的文件中,然后我想在终端上显示它。但
cat at.txt给出输出
at\r这不是我想要的。我希望解释\r特殊序列,而不仅仅是打印在终端上。有谁知道吗?
谢谢,亚历克斯
发布于 2012-08-29 18:23:31
为什么不呢:
while read -r line; do echo -e $line; done < at.txt发布于 2015-12-10 22:31:30
您可以简单地:
echo -e $(cat at.txt)发布于 2012-08-29 18:23:19
内置的echo命令解释常见的反斜杠转义。但在文件中,你必须解释它,或者以类似的方式转换它。sed程序可以做到这一点。
sed -e 's/\\r/\r/' < at.txt但我在这里也学到了一些东西。外部echo命令的行为与内部命令不同。
/bin/echo "\r"的输出不同于
echo "\r"但基本上,您需要一个过滤器来将字母\r字符串转换为单字节0x0D。
https://stackoverflow.com/questions/12175304
复制相似问题