Попробуй это:
awk 'NR==1{sub(/^\xef\xbb\xbf/,"")}{print}' INFILE > OUTFILE
В первой записи (строке) удалите символы спецификации. Распечатайте каждую запись.
Или немного короче, зная, что действие по умолчанию в awk - это распечатать запись:
awk 'NR==1{sub(/^\xef\xbb\xbf/,"")}1' INFILE > OUTFILE
1
- кратчайшее условие, которое всегда оценивается как истинное, поэтому печатается каждая запись.
Наслаждайтесь!
- ДОБАВЛЕНИЕ -
Часто задаваемые вопросы по метке порядка байтов Unicode (BOM) включают следующую таблицу, в которой перечислены точные байты спецификации для каждой кодировки:
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
байтам спецификации из приведенной выше таблицы.