wget은 3바이트 따옴표를 출력합니다.

wget은 3바이트 따옴표를 출력합니다.

나는 wget -b. 로그에서 성공적으로 다운로드된 파일 목록을 얻으려고 시도했지만 grep saved wget-log | awk -F '"' '{print $2}'작동하지 않았습니다. 추가 조사를 통해 파일 이름이 일반 큰따옴표(0x22) 대신 3바이트 왼쪽 및 오른쪽 큰따옴표(0xE2 0x80 0x9D)로 묶여 있다는 사실을 알게 되었습니다.

이것은 wget의 정상적인 동작입니까, 아니면 제 환경 변수입니까? wget에서 일반 따옴표를 사용하도록 하거나 로깅에 표준 ASCII 바이트만 사용하도록 할 수 있습니까? 예를 들어 바이트를 sed로 대체하여 이를 우회하는 다른 방법을 알고 있습니다. 나는 그것에 매우 흥미를 느꼈습니다. 나는 그것에 대한 의견을 찾기 위해 Google에서 몇 분을 보냈고 아무것도 찾을 수 없었습니다. 마치 이전에 아무도 이것을 눈치 채지 못한 것처럼 말입니다.

답변1

유니코드 로케일에서 의도적으로 설계된 것 같습니다. 이에 대한 댓글이 있습니다wget의 메일링 리스트. 언어 번역 파일에는 인용문에 대한 번역도 포함되어 있으므로 사용된 언어에 따라 '적절한' 인용문을 얻을 수 있습니다.

유니코드가 아닌 로케일을 사용하여 일반 따옴표를 사용하도록 할 수 있습니다.

LC_ALL=C wget ...

또는

LC_CTYPE=C wget ...

관련 정보