Я пытаюсь прочитать файл с помощью awk и записать вывод в новый файл. Пример файла содержимого:

DATE_Login|09:01:20.507|2015-08-13|TIME_Session|00:32:32|MX|w32
DATE_Login|09:01:20.507|2015-08-13|TIME_Session|02:12:21|EU|osx
DATE_Login|09:01:20.507|2015-08-13|TIME_Session|01:15:04|SP|mobile

Это командная строка

awk -F "|" 'NR > 4 {print $1 >> "/result.txt" } {if (NR > 15) exit 0}' /SSXCIPSOUR.txt**

Но вывод файла содержимого:

^@2^@0^@1^@5^@-^@0^@8^@-^@1^@3^@ ^@0^@9^@:^@0^@1^@:^@2^@0^@.^@5^@0^@7^@
^@2^@0^@1^@5^@-^@0^@8^@-^@1^@3^@ ^@0^@9^@:^@0^@1^@:^@2^@0^@.^@5^@0^@7^@
^@2^@0^@1^@5^@-^@0^@8^@-^@1^@3^@ ^@0^@9^@:^@0^@1^@:^@2^@0^@.^@5^@0^@7^@

1 ответ1

2

Ваш файл, вероятно, в некоторой кодировке UTF-16. Запустите командный file на файл , чтобы узнать. Если это исходит от Microsoft, вероятно, это utf-16 little-endian. Затем вы можете преобразовать его в utf-8, с которым проще работать, выполнив файл:

iconv -f UTF-16LE -t UTF-8 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .