Страницы

Поиск по вопросам

суббота, 11 апреля 2020 г.

Как убрать BOM из файла?

#файлы #unix #unicode

                    
Как консольно (в Unix-like окружении) удалить BOM (byte-order mark, непечатаемый
символ в самом начале файла, являющийся необязательной меткой юникода) из файла?
    


Ответы

Ответ 1



Например, с помощью awk: awk '{if(NR==1)sub(/^\xef\xbb\xbf/, "");print}' < oldfile > newfile

Ответ 2



Если точно знаете, что файл с BOM $ tail -c +4 newfile эффективно копирует все, пропустив первые 3 байта (см. man tail for details)

Ответ 3



С помощью sed: $ sed -e '1s/^\xef\xbb\xbf//' < bomfile > newfile Если заранее известно, что файл содержит BOM, то можно использовать dd: $ dd if=bomfile of=newfile bs=3 skip=1

Комментариев нет:

Отправить комментарий