왜 awk가 잘못된 문자열을 출력 파일에 인쇄합니까?


0

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

답변:


2

파일이 아마도 utf-16 인코딩 일 것입니다. file파일 에서 명령을 실행하여 찾으십시오. 그것이 Microsoft에서 온다면 아마도 utf-16 little-endian 일 것입니다. 그런 다음 파일을 수행하여 다루기가 더 쉬운 utf-8로 변환 할 수 있습니다.

iconv -f UTF-16LE -t UTF-8 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.