Jak mogę sprawdzić, czy plik tekstowy utf-8 ma BOM z wiersza poleceń?
file
polecenie pokazuje mi UTF-8 Unicode text
.
Ale nie wiem, to znaczy, że w pliku nie ma BOM.
Używam Ubuntu 12.04
.
Jak mogę sprawdzić, czy plik tekstowy utf-8 ma BOM z wiersza poleceń?
file
polecenie pokazuje mi UTF-8 Unicode text
.
Ale nie wiem, to znaczy, że w pliku nie ma BOM.
Używam Ubuntu 12.04
.
Odpowiedzi:
file
poinformuje Cię, czy istnieje BOM. Możesz przetestować:
$ /usr/bin/printf "\ufeff...\n" | file -
/dev/stdin: UTF-8 Unicode (with BOM) text
Uwaga: zgodnie z file
dziennikiem zmian ta funkcja istniała już w 2007 roku. Powinno to działać na każdym bieżącym komputerze.
file
wersja jest file-5.09
i wynik był /dev/stdin: ASCII text
. Czy to zależy od wersji file
?
file
5.04 (wyciskanie Debiana) i było OK. Nawet w 2007 r., Zgodnie z dziennikiem zmian (nie testowano). Ale możesz wykonać test, który podałem w mojej odpowiedzi.
language-pack-ja
z apt
, wtedy twój przykład działa idealnie. Dzięki za pomoc!
Jeśli wykonasz stat fileName
, powinno ci dać dokładnie trzy znaki. Kiedy otworzyłem plik w edytorze, nic nie widziałem. Więc zauważenie, że rozmiar pliku wynosił 3, dało mi jasność, że ma BOM.
Również post tutaj był pomocny w moim przypadku.
hexdump -n 3 -C 2.txt
00000000 ef bb bf
ef bb bf // YES