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

Unicodeロケールでは設計上のようです。これについては、wget のメーリング リスト言語翻訳ファイルには引用符の翻訳も含まれているため、使用する言語に応じて「適切な」引用符が得られます。

非 Unicode ロケールを使用すると、通常の引用符を使用することができます。

LC_ALL=C wget ...

または

LC_CTYPE=C wget ...

関連情報