我正在解析一個可能包含控制字符(ASCII 0-31)的文件。現在我想用它們的十六進制表示形式的ASCII碼替換每個控制字符。什麼,我心裏有一個很簡單的例子:用十六進制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
不是必需的。
是八進制轉義接受嗎? – 2012-04-13 17:06:57
@ IgnacioVazquez-Abrams不,輸出必須包含'\ x..'符號 – sjngm 2012-04-13 17:08:57