Попробуй это:
awk 'NR==1{sub(/^\xef\xbb\xbf/,"")}{print}' INFILE > OUTFILE
В первой записи (строке) удалите символы спецификации. Распечатайте каждую запись.
Или немного короче, зная, что по умолчанию в awk выполняется печать записи:
awk 'NR==1{sub(/^\xef\xbb\xbf/,"")}1' INFILE > OUTFILE
1
- кратчайшее условие, которое всегда оценивается как истинное, поэтому печатается каждая запись.
Наслаждаться!
- ДОБАВЛЕНИЕ -
FAQ по метке порядка байтов Unicode включает следующую таблицу, в которой перечислены точные байты спецификации для каждого кодировка:
Bytes | Encoding Form
--------------------------------------
00 00 FE FF | UTF-32, big-endian
FF FE 00 00 | UTF-32, little-endian
FE FF | UTF-16, big-endian
FF FE | UTF-16, little-endian
EF BB BF | UTF-8
Таким образом, вы можете увидеть, как \xef\xbb\xbf
соответствует EF BB BF
UTF-8
байтам спецификации из приведенной выше таблицы.
person
Bartosz
schedule
01.07.2009