
我跑了一個wget -b
.從日誌中,我試圖獲取已成功下載的文件列表,為此我做了一個grep saved wget-log | awk -F '"' '{print $2}'
但沒有成功。進一步調查讓我注意到檔案名稱是用 3 個位元組的左右雙引號 (0xE2 0x80 0x9D) 括起來的,而不是常規的雙引號 (0x22)。
這是 wget 的正常行為,還是我這邊的一些環境變量,類似的東西?我可以讓 wget 使用常規引號,或在其日誌記錄中僅使用標準 ASCII 位元組嗎?我知道其他繞過它的方法,例如用 sed 替換位元組。我對此非常感興趣:我花了幾分鐘在谷歌上尋找對此的任何評論,但找不到任何東西,就好像以前沒有人注意到這一點一樣。
答案1
似乎是 Unicode 語言環境設計的。對此有一則評論wget 的郵件列表。語言翻譯文件還包含引號的翻譯,因此您可以根據所使用的語言獲得“正確的”引號。
您可以透過使用非 Unicode 語言環境使其使用常規引號。
LC_ALL=C wget ...
或者
LC_CTYPE=C wget ...