我们有一个在 prod 上运行的 bash 脚本。有时我们会在 bash 脚本中接收控制字符作为输出,然后将其发送到其他地方进行渲染。
是否有任何方法使用tr/awk/sed
或其他任何方法将控制字符从 (0-1f) (hex) 转换/转换为 unicode 转义 (\u0000 - \u0037)(octal) [换行符“\n”除外]
- 我们不想在 bash 脚本中使用 perl (ord)。(增加 CPU 使用率)
- 我们不想删除控制字符(使输出看起来很难看)
简单示例:
echo "Hello, this \n is a new line. This \t is a tab"
应该变成:
Hello, this
is a new line. This \u0011 is a tab
参考:
ASCII 表:http ://www.asciitable.com/