J'ai reçu un fichier .csv avec la FF FE
nomenclature:
$ 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.|
Lorsque awk
j'utilise pour l'analyser, je reçois un tas d'octets nuls, ce qui, je le soupçonne, est dû à l'ordre des octets. Comment puis-je permuter l'ordre des octets sur ce fichier (en utilisant la CLI) afin que les outils normaux fonctionnent avec lui?
Notez que je pense que ce fichier n'est que des caractères ASCII (à l'exception de la nomenclature), mais je ne peux pas confirmer que comme grep
pense qu'il s'agit d'un fichier binaire:
$ grep -P '^[\x00-\x7f]' dotan.csv
Binary file dotan.csv matches
La recherche de la même chaîne dans VIM affiche chaque correspondance de caractères !
Utiliser iconv
pour convertir en ASCII ne supprime pas les valeurs \ x00, en fait cela aggrave le problème car maintenant elles ressemblent à des octets nuls au lieu d'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.|
Comment puis-je permuter l'ordre des octets sur ce fichier (en utilisant la CLI) afin que les outils normaux fonctionnent avec lui?