Как читать файлы с разными кодировками, используя Awk?

StackOverflow https://stackoverflow.com/questions/1820659

  •  10-07-2019
  •  | 
  •  

Вопрос

Как правильно читать файлы в кодировках, отличных от UTF8, в Awk?

У меня есть файл в кодировке иврит / Windows-1255. Простой {print $ 0} awk печатает такие вещи, как & # 65533 ;. как я могу заставить его читать правильно?

Это было полезно?

Решение

У самого awk нет поддержки для обработки разных кодировок. Он будет соответствовать языку, указанному в среде, но лучше всего перекодировать ввод в правильную кодировку, прежде чем передать его в awk.

-f - это формат, из которого вы хотите конвертировать, -t - это целевой формат, а -c пропускает любые недопустимые символы, которые преждевременно прекращают работу iconv. Конечно --help даст более подробную информацию.

iconv -c -f cp1255 -t utf8 somefile | awk ...
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top