如何解决使用TR从字符串中删除控制字符
请尝试以下命令:
echo "(After Sweet Memories) Play Born To Lose Again" | tr '(' '-' | tr ')' '-' | tr ' ' '-'
-After-Sweet-Memories--Play-Born-To-Lose-Again
(请注意,双--
)
请参见以下示例和此错误:
echo "(After Sweet Memories) Play Born To Lose Again" | tr '(' '' | tr ')' '' | tr ' ' '-'
tr: tr: when not truncating set1,string2 must be non-emptywhen not truncating set1,string2 must be non-empty
解决方法
您可以使用“ tr -d”删除字符。这是您要寻找的解决方案吗?
echo "(After Sweet Memories) Play Born To Lose Again" | tr -d '(' | tr -d ')' | tr ' ' '-'
甜蜜回忆之后的游戏重生失败
,已经提供了tr
解决方案,但是tr
要求您在管道中运行多个实例。您可以使用sed
在一个过程中完成所有操作。
echo "(After Sweet Memories) Play Born To Lose Again" | sed 's/ /-/g; s/[()]//g;'
After-Sweet-Memories-Play-Born-To-Lose-Again
您甚至可以丢掉echo
(尽管这几乎不是问题...)
sed 's/ /-/g; s/[()]//g;' <<< "(After Sweet Memories) Play Born To Lose Again"
After-Sweet-Memories-Play-Born-To-Lose-Again
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。