Проблема в том, что у меня есть файл со списком URL, скажем links.txt
:
http://www.tipsfor.us/wp-content/uploads/2009/01/vim-editor-icon.png http://wp.psyx.us/wp-content/uploads/2011/01/vi-vim-tutorial-1.gif http://proft.me/static/img/vim/vi-vim-cheat-sheet.gif
Я пытаюсь дать wget
понять, что не хочу, чтобы это выглядело png
так:
$ wget -R png -i links.txt
Но это не имеет никакого эффекта и wget
все равно получает png
файлы вместе с другими. Передача links.txt
по конвейеру grep
не является опцией, так как в реальном файле ссылки находятся в этой форме, http://example.com/get/123987562
которая затем разрешается / перенаправляется в нечто вродеhttp://example.com/media/images/cool-pic.jpg
Итак, вопрос в том, как я могу отклонить / исключить определенные файлы wget
?
wget -i links.txt -R png
Ответы:
Wget или, по крайней мере, версия, которая у меня есть, кажется, плохо оборудована для этого,
--server-response
опция все равно, кажется, загружает файл. Если wget не критичен, то лучше использовать curl.Решение проблемы такого типа включает просмотр Content-Type, возвращаемого сервером. Например:
пишет что-то вроде следующего на стандартный вывод
Фильтрация этого результата с помощью grep позволяет вам проверять приемлемые типы пантомимы. Затем вы можете обобщить подход для проверки допустимых типов MIME для списков файлов. Убираем это и помещаем в скрипт оболочки:
Который вы бы назвали так:
источник