Ich habe eine CSV-Datei mit der FF FE
Stückliste erhalten:
$ 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.|
Beim awk
Parsen erhalte ich eine Reihe von Null-Bytes, was vermutlich auf die Bytereihenfolge zurückzuführen ist. Wie kann ich die Bytereihenfolge für diese Datei (mithilfe der CLI) austauschen, damit normale Tools damit arbeiten?
Beachten Sie, dass ich denke, dass diese Datei nur aus ASCII-Zeichen besteht (mit Ausnahme der Stückliste), aber ich kann dies nicht bestätigen, da ich grep
denke, dass es sich um eine Binärdatei handelt:
$ grep -P '^[\x00-\x7f]' dotan.csv
Binary file dotan.csv matches
Wenn Sie in VIM nach derselben Zeichenfolge suchen, werden alle Zeichen angezeigt!
Durch iconv
die Konvertierung in ASCII werden \ x00-Werte nicht entfernt, sondern das Problem wird noch schlimmer, da sie jetzt wie Null-Bytes anstelle von UTF-8 aussehen!
$ 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.|
Wie kann ich die Bytereihenfolge für diese Datei (mithilfe der CLI) austauschen, damit normale Tools damit arbeiten?