我收到了带有FF FE
BOM 的.csv文件:
$ head -n1 dotan.csv | hd
00000000 ff fe 41 00 64 00 20 00 67 00 72 00 6f 00 75 00 |..A.d. .g.r.o.u.|
当使用awk
它解析时,我得到了一堆空字节,我怀疑这是由于字节顺序所致。如何交换该文件上的字节顺序(使用CLI),以便普通工具可以使用它?
请注意,我认为该文件仅是ASCII字符(BOM除外),但是我不能确认grep
它是二进制文件:
$ grep -P '^[\x00-\x7f]' dotan.csv
Binary file dotan.csv matches
在VIM中搜索相同的字符串会显示每个匹配的字符!
使用iconv
转换为ASCII不会摆脱\ x00值,实际上,这使问题变得更糟,因为它们现在看起来像空字节而不是UTF-8!
$ iconv -f UTF-8 -t ASCII dotan.csv > fixed.txt
iconv: illegal input sequence at position 0
$ iconv -f UTF-8 -t ASCII//IGNORE dotan.csv > fixed.txt
$ head -n1 fixed.txt | hd
00000000 41 00 64 00 20 00 67 00 72 00 6f 00 75 00 70 00 |A.d. .g.r.o.u.p.|
如何交换该文件的字节顺序(使用CLI),以便普通工具可以使用它?
您在Windows或Mac中创建的CSV文件?
—
cuonglm
您可以提供一部分文件吗?
—
cuonglm