Если Ваша единственная проблема с sudo
должен использовать пароль, можно добавить NOPASSWD
тег в Вашем sudoers
файл. Вы хотите
some_user ALL = (ALL) NOPASSWD:/path/to/adduser
WGET
включает в себя функции для поддержки этого напрямую:
wget -r -A "*.ai,*.cdr" 'address-of-page-with-hyperlinks'
-R
включает рекурсивный режим, чтобы он загрузил больше, чем Данный URL, а -
-
ограничивает файлы, которые он будет загружать и сохранить в конце.
Прочитайте страницу с фильтром Curl
для гиперссылок GREP
. Обратите внимание, что это использует тот факт, что все они полностью отформатированы последовательно (как ). На самом деле следует использовать Passer HTML / XML для чего-либо еще немного сложнее.
Отрежьте адрес гиперссылки с помощью GREP -O
, фильтрация с помощью GREP
еще раз, чтобы извлечь только ссылки, которые целью, которая имеет желаемое расширение (ы) и протокол (ы).
Скачать эти полученные файлы с помощью WGET
(или Curl
также могут быть использованы, если вывод был указан). Кроме того, мы ECHO
URL к консоли.
Обратите внимание, что наша фильтрация в сценарии не в том же порядке, что и выше, для удобства.
Bash :
#!/bin/bash
while read url; do
# Echo URL to terminal
echo "${url}"
# Download files
wget -q "${url}"
done < <(
# Get page
curl -s 'address-of-page-with-hyperlinks' | \
# Filter hyperlinks
grep -Po 'href="http://[^"]+\.(cdr|ai)"' | \
grep -Po 'http://[^"]+'
)