#файлы #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 +4newfile эффективно копирует все, пропустив первые 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
Комментариев нет:
Отправить комментарий