首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Linux中制作“cat”来解释控制字符

如何在Linux中制作“cat”来解释控制字符
EN

Stack Overflow用户
提问于 2012-08-29 17:56:56
回答 3查看 16K关注 0票数 14

考虑以下echo命令:

代码语言:javascript
复制
 echo -e "at\r"

这将在命令行上生成输出at,即已经解释了\r特殊字符。我想对文件中的一些文本执行完全相同的操作。假设完全相同的序列

代码语言:javascript
复制
at\r

被写到一个名为at.txt的文件中,然后我想在终端上显示它。但

代码语言:javascript
复制
cat at.txt

给出输出

代码语言:javascript
复制
at\r

这不是我想要的。我希望解释\r特殊序列,而不仅仅是打印在终端上。有谁知道吗?

谢谢,亚历克斯

EN

回答 3

Stack Overflow用户

发布于 2012-08-29 18:23:31

为什么不呢:

代码语言:javascript
复制
while read -r line; do echo -e $line; done < at.txt
票数 14
EN

Stack Overflow用户

发布于 2015-12-10 22:31:30

您可以简单地:

代码语言:javascript
复制
echo -e $(cat at.txt)
票数 9
EN

Stack Overflow用户

发布于 2012-08-29 18:23:19

内置的echo命令解释常见的反斜杠转义。但在文件中,你必须解释它,或者以类似的方式转换它。sed程序可以做到这一点。

代码语言:javascript
复制
sed -e 's/\\r/\r/' < at.txt

但我在这里也学到了一些东西。外部echo命令的行为与内部命令不同。

代码语言:javascript
复制
/bin/echo "\r"

的输出不同于

代码语言:javascript
复制
echo "\r"

但基本上,您需要一个过滤器来将字母\r字符串转换为单字节0x0D。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12175304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档