一尘不染

替换sed中的控制字符

linux

我需要替换Linux文本文件中所有出现的控制字符CTRL + A(SOH / ascii 1),如何在SED中实现呢?


阅读 630

收藏
2020-06-02

共1个答案

一尘不染

可以cat使用-v(等同于--show-nonprinting选项并将其通过管道传递到sed)完成。

如果控制字符是标题(SOH)字符的开始(CTRL + A / ASCII 1),并且我们希望将其替换为制表符,则可以执行以下操作:

cat -v file | sed 's/\^A/\t/g' > out

cat -v会将SOH字符替换为^ A,然后将其匹配并替换为sed

2020-06-02