【发布时间】:2020-06-21 10:40:00
【问题描述】:
我正在使用 dos2unix 命令将文本文件转换为 unix 格式,但我收到了几个文件的此消息:
dos2unix: Binary symbol found at line 6115
dos2unix: Skipping binary file w1.txt
当我在 notepad++ 中打开文本文件时,我看到以下内容:
如何从文本文件中删除这些二进制符号?有什么命令可以用吗?
【问题讨论】:
-
试试
perl -p -e 's/[^[:ascii:]]//g' inputfile,这将删除非 ascii 字符。不确定这是否适用于您的文件,但值得一试。 -
也许这些只是多字节字符?你检查过文件的编码吗?
-
我认为删除这个二进制字符是不明智的;您需要做的可能是将这些字符转换为正确的编码。 dos2unix 有很多选项可以做到这一点。尝试了解原始文件的编码以及您尝试在 notepad++ 中迁移到的编码。这里有例子:computerhope.com/unix/dos2unix.htm
-
file报告的编码是什么?你能转储几行hexdump -C输出吗?第 6130-6136 行会很好,因为PUI看起来像 æ (wrt 6131) 和SSA像 å。 -
如果您将
Holbæk重命名为Holbk,它将不再是同一个城市。