Номер порта представляет собой 16-разрядное целое число без знака, поэтому 65535.
Попробуйте следующее:
awk 'NR==1{sub(/^\xef\xbb\xbf/,"")}{print}' INFILE > OUTFILE
В первой записи (строке) удалите символы спецификации. Распечатайте каждую запись.
Или немного короче, зная, что действие по умолчанию в awk - это печать записи:
awk 'NR==1{sub(/^\xef\xbb\xbf/,"")}1' INFILE > OUTFILE
1
- кратчайшее условие, которое всегда принимает истинное значение, поэтому печатается каждая запись.
Наслаждайтесь!
- ДОПОЛНЕНИЕ -
Часто задаваемые вопросы по метке порядка байтов 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
байтам спецификации из приведенной выше таблицы.
Не на awk, а проще:
tail -c +4 UTF8 > UTF8.nobom
Чтобы проверить наличие спецификации:
hd -n 3 UTF8
Если есть спецификация, вы увидим: 00000000 ef bb bf ...