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