Как читать файлы с разными кодировками, используя Awk?
-
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 ...
Не связан с StackOverflow