首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Bash中的字符串中删除回车和制表符转义序列

从Bash中的字符串中删除回车和制表符转义序列
EN

Stack Overflow用户
提问于 2015-06-10 20:37:44
回答 4查看 7.2K关注 0票数 3

假设我有这个字符串:

代码语言:javascript
运行
复制
Your name is\nBobby\tBlahck\r\r

如何删除字符"\n,\t,\r“。字符串看起来是这样的,它不包含制表符或新行。他们只是个角色。

当我尝试

代码语言:javascript
运行
复制
echo "Your name is\nBobby\tBlahck\r\r" | tr -d '\t'

tr假设我试图删除制表符,所以它不工作,并且打印相同的字符串。关于如何去除它们有什么想法吗?我对sed也有同样的问题。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-06-10 20:46:46

代码语言:javascript
运行
复制
$ echo "Your name is\nBobby\tBlahck\r\r" | sed -E 's,\\t|\\r|\\n,,g'
Your name isBobbyBlahck

代码语言:javascript
运行
复制
$ echo "Your name is\nBobby\tBlahck\r\r" | sed -e 's,\\[trn],,g'
Your name isBobbyBlahck

-E在OS上,否则用-r替换它。

票数 2
EN

Stack Overflow用户

发布于 2015-06-10 20:45:17

这是因为字符串中没有任何制表符。它在t后面有一个反斜杠,但没有选项卡:

代码语言:javascript
运行
复制
$ echo "Your name is\nBobby\tBlahck\r\r" | tr -d '\t'
Your name is\nBobby\tBlahck\r\r

此字符串中有一个选项卡,tr将其移除:

代码语言:javascript
运行
复制
$ echo $'Your name is\nBobby\tBlahck\r\r'
Your name is
Bobby   Blahck
$ echo $'Your name is\nBobby\tBlahck\r\r' | tr -d '\t'
Your name is
BobbyBlahck

如果您想要bash字符串中的特殊字符,请使用‘$’.‘来创造它们。

票数 1
EN

Stack Overflow用户

发布于 2015-06-10 20:48:10

使用一个字符组检查“\”后面的内容:

代码语言:javascript
运行
复制
echo "Your name is\nBobby\tBlahck\r\r" | sed -r 's/\\[nrt]/ /g'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30766838

复制
相关文章

相似问题

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