我正在解析一个可能包含控制字符(ASCII 0-31)的文件。现在我想用十六进制表示的 ASCII 代码替换每个控制字符。我想到的一个相当简单的例子:
$ echo -e "a\011b" | sed -e 's/\o11/\\x09/g'
a\x09b
这会将制表符 ( \011
) 转换为\x09
,因此a<tab>b
变为a\x09b
。
显然我可以使用 32-e
参数,但我认为这很糟糕。有没有通用的方法呢?
顺便说一句,如果\n
仍然是\n
. sed
不是必需的。