将 SOH 替换为 MAC 中的空格



我有一个文件,当用崇高的文本打开时有一些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)

问题出在哪里?

谢谢

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

无论如何,这里不需要cat

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

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

在Python中,它的工作方式几乎相同:

>>> 'Hellox01World.'.replace('x01', ' ')

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

最新更新