将MAC替换为MAC

时间:2016-03-11 04:06:23

标签: macos bash python-2.7 sed

我有一个文件,当使用sublime文本打开时有一些SOH字符。

我正在尝试用空格替换这个SOH字符。

我尝试过Python和sed命令,但它们都没有工作。

cat -v small.txt | sed 's/'001'/ /g' > out.txt

用^ A替换它。

这里也是python代码。

escapes = ''.join([chr(char) for char in range(1, 32)])

for f in file_in:

    t = f.translate(None, escapes)
    print(t)

有什么问题?

谢谢

1 个答案:

答案 0 :(得分:1)

您为什么使用cat -v?这确实会用文本表示替换所有不可打印的字符(例如^A)。您是否尝试在没有 sed ;-)的情况下运行命令那将显示正在发生的事情以及s/'001'/ /g'是错误的; - )

无论如何,这里不需要cat

sed $'s/\x01/ /g' file.txt

$告诉bash shell解释此字符串中的转义码,例如\x01

在Python中,它的工作原理基本相同:

>>> 'Hello\x01World.'.replace('\x01', ' ')

我不确定你期望f.translate(None, escapes)做什么?这看起来像是随机的反复试验代码,并且根本不是translate()的工作方式; - )