
Я запустил wget -b
. Из журнала я пытался получить список успешно загруженных файлов, и для этого я сделал , grep saved wget-log | awk -F '"' '{print $2}'
но это не сработало. Дальнейшее расследование привело меня к тому, что имя файла заключено в 3-байтовые левые и правые двойные кавычки (0xE2 0x80 0x9D), вместо обычных двойных кавычек (0x22).
Это нормальное поведение wget или это какая-то переменная окружения на моем конце, что-то вроде того? Могу ли я заставить wget использовать обычные кавычки или использовать только стандартные байты ASCII в его журналировании, как-то так? Я знаю другие способы обойти это, например, заменив байты на sed. Я просто очень заинтригован этим: я провел несколько минут в Google в поисках каких-либо комментариев по этому поводу и не смог ничего найти, как будто никто никогда не замечал этого раньше.
решение1
Кажется, это сделано специально в локалях Unicode. Есть комментарий по этому поводу наСписок рассылки wgetФайлы перевода языков также содержат переводы цитат, поэтому вы получаете «правильные» цитаты в соответствии с используемым языком.
Вы можете использовать обычные кавычки, используя локаль, отличную от Unicode.
LC_ALL=C wget ...
или
LC_CTYPE=C wget ...