我有一组文件,每隔一个字节插槽大致有空字节。此外,它们在开头具有字节序列FF FE,需要将其删除。我得到了文件(它们实际上是路由器配置文件,所以是纯文本),我不知道这些字节是如何进入的。但是,该文件看起来像这样,我发现例如here或here,
FF FE 65 00 6E 00 61 00 62 6C 00 6C 65 00 0D 00
0A 00 63 00 6F 00 6E 00 66 00 69 00 37 00 75 00
72 00 65 00 20 00 74 00 65 00 72 00 6D 00 69 00
认为你可以想象它是如何发生的。我尝试了各种方法来删除空字节和前2个字节:
sed -i.bak 's/\x00//g' R2.txt
什么也没做。LC_ALL=C sed -i.bak 's/\x00//g' R2.txt
什么也没做。LC_ALL=C tr < R2.txt -d '\000' > R2-test.txt
有效,但不符合规定。LC_ALL=C sed -i.bak $'s/\x00//g' R2.txt
抱怨sed: 1: "s/": unterminated substitute pattern
所以...我的问题是,如何在OSX上从内联的文件中删除前两个字节(FF FE)的空字节?
感谢。
答案 0 :(得分:2)
iconv -f "current-encoding" -t "desired-encoding" infile.txt > outfile.txt