3
BOM(FF FE)で始まるファイルを処理する
FF FEBOM を含む.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して解析すると、nullバイトが大量に取得されますが、これはバイトオーダーが原因であると考えられます。このファイルのバイトオーダーを(CLIを使用して)スワップして、通常のツールがそれで動作するようにするにはどうすればよいですか? このファイルはASCII文字(BOMを除く)だけであるとgrep思いますが、バイナリファイルであるとは考えられないため、確認できません。 $ grep -P '^[\x00-\x7f]' dotan.csv Binary file dotan.csv matches VIMで同じ文字列を検索すると、一致するすべての文字が表示されます。 iconvASCIIへの変換に使用しても\ x00値は削除されません。UTF-8ではなくnullバイトのように見えるため、実際には問題がさらに悪化します。 $ iconv -f UTF-8 -t ASCII dotan.csv > …