4

Мне нужно скачать около 100 пакетов, поэтому я использую wget-list, чтобы упростить его. Мой вопрос, однако, является ли я после того, как я составил список (я предполагаю, что он в формате .txt), есть ли способ вставить в него комментарии, которые wget будет игнорировать? Что-то вроде этого:

#This is a comment
http://someurl.com
http://anotherurl.com

4 ответа4

4

Просто поместите комментарии в свой без обозначений, wget просто подберет их как недействительные URL.

3

Вы можете передать через grep или sed чтобы удалить комментарии:

grep -v '^#' ~/list.wget | wget -i- -c -B http://base.url.if_needed
1

Это не похоже на это:

Если --force-html не указан, то файл должен состоять из серии URL-адресов, по одному на строку.

Вы можете попробовать комментарии в стиле HTML: <!-- Comment --> - возможно, они интерпретируются как комментарии, хотя я бы не стал на это рассчитывать.

Вы также можете использовать параметр --force-html и передать его HTML - формат, в котором вы можете свободно комментировать столько, сколько захотите. Недостатком является то, что он добавляет много беспорядка:

<!-- This is a comment -->
<a href="http://someurl.com"></a>
<a href="http://anotherurl.com"></a>
0

Я протестировал wget, используя список, доступный по адресу https://en.wikipedia.org/wiki/Comparison_of_programming_languages_%28syntax%29#Inline_comments

Я обнаружил, что wget не поддерживает символ комментария. Тем не менее, следующие быстро генерируют ошибки "Неверный URL":

:  Test comment 1   list: Invalid URL :  Test comment 1: Scheme missing
:: Test comment 2   list: Invalid URL :: Test comment 2: Scheme missing
#  Test comment 3   list: Invalid URL http://#  Test comment 3: Invalid host name
// Test comment 4   list: Invalid URL // Test comment 4: Scheme missing

Они не были перечислены в статье в Википедии, но также вызывают быстрые ошибки "Неверный URL"

/ Test comment 1    list: Invalid URL / Test comment 1: Scheme missing
[ Test comment 1    list: Invalid URL http://[ Test comment 1: Unterminated IPv6 numeric address
@ Test comment 1    list: Invalid URL http://@ Test comment 1: Invalid user name
? Test comment 1    list: Invalid URL http://? Test comment 1: Invalid host name

Все оставшиеся строки символов комментария привели к тому, что wget попытался разрешить имя домена с помощью DNS, что привело к выводу как минимум восьми строк ошибок.

Я также обнаружил, что wget сканирует весь файл списка и создает список URL-адресов для извлечения до того, как он начнет извлекаться. Например, если у вас есть файл списка, содержащий:

# test comment 1
# test comment 2
http://superuser.com/questions/265711/commenting-in-a-wget-list

# test comment 3
# test comment 4
# test comment 5
# test comment 6

Вывод wget:

list: Invalid URL http://# test comment 1: Invalid host name
list: Invalid URL http://# test comment 2: Invalid host name
list: Invalid URL http://# test comment 3: Invalid host name
list: Invalid URL http://# test comment 4: Invalid host name
list: Invalid URL http://# test comment 5: Invalid host name
list: Invalid URL http://# test comment 6: Invalid host name
--2015-08-19 14:03:55--  http://superuser.com/questions/265711/commenting-in-a-wget-list
Resolving superuser.com (superuser.com)... 190.93.247.58, 190.93.244.58, 141.101.114.59, ...
Connecting to superuser.com (superuser.com)|190.93.247.58|:80... connected.
HTTP request sent, awaiting response... 200 OK
<snip>

Таким образом, пока: :: # / // [@? все они могут быть безопасно использованы в качестве начальных символов комментариев, в результате ошибки будут выводиться первыми и не будут совпадать с попытками wget получить страницы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .