Проблемы с преобразованием массивов в методы

Попробуйте это:

awk 'NR==1{sub(/^\xef\xbb\xbf/,"")}{print}' INFILE > OUTFILE

На первой записи (строке) удалите символы спецификации. Распечатайте каждую запись.

Или немного короче, используя знание о том, что действие по умолчанию в awk должно печатать запись:

awk 'NR==1{sub(/^\xef\xbb\xbf/,"")}1' INFILE > OUTFILE

1 - это самое короткое условие, которое всегда оценивает

- ADDENDUM -

Частота юникодного байта (BOM) FAQ

g0] включает следующую таблицу, в которой перечислены точные байты спецификации для каждой кодировки:

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 из приведенной выше таблицы.

-1
задан cantcode 25 March 2019 в 03:03
поделиться