Por que awk imprimindo string incorreta no arquivo de saída?


0

Estou tentando ler o arquivo com o awk e gravar a saída em um novo arquivo. Exemplo de arquivo de conteúdo:

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

Esta é a linha de comando

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

Mas a saída do arquivo de conteúdo é:

^@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^@

Respostas:


2

Seu arquivo provavelmente está em alguma codificação utf-16. Execute o filecomando no arquivo para descobrir. Se vier da microsoft, provavelmente é utf-16 little-endian. Você pode convertê-lo para utf-8, o que é mais fácil de despertar, fazendo no arquivo:

iconv -f UTF-16LE -t UTF-8 
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.