Таким образом, ваш пример становится:
Обратите внимание, что если у вас [1123655]bash[1123656] версии 4.x, вы должны использовать новый тест [1123657][[...]][1123658] вместо [1123659][...][1123660].[1123202].
Я считаю, что вы можете написать небольшой сценарий оболочки, чтобы делать то, что вы хотите. Используйте цикл for для просмотра файлов, wget или аналогично загрузке и записи текущего файла в файл, из которого вы можете прочитать, где вы были после прерывания.
Пример:
if [-f $ FILE]
count = $ (cat file)
for i in {$ COUNT ..5}
do {{ 1}} wget https://foo.bar/name_$i
echo "$ i"> $ FILE
сделано
else
для i в {1 ..5}
do
wget https://foo.bar/name_$i
echo "$ i"> $ FILE
готово {{1} } fi
Это только основная идея, возможно, есть несколько более мелких ошибок, но я полагаю, вы поняли мою идею.
BASE_URL='http://some.site.somewhere.com/some/path'
LASTFILE='./countfile'
last=1
[ -e "$LASTFILE" ] && last=$(cat "$LASTFILE")
for i in $(eval {$last..1000}) ; do
echo "$i" > "$LASTFILE"
wget -c "$BASE_URL/name_\{$i\}"
done
Вы сказали, что У каждого есть имя "name_ {i}"
- я не уверен, означает ли это, что имя файла {} фигурные скобки в них или нет. Если нет, просто удалите \ {
и \}
из строки wget
выше.
Если имена файлов имеют номера с нулями (например, 0005, а не только 5), вы можете использовать seq
вместо eval {$ last..1000}
следующим образом:
for i in $(seq -w $last 1000); do
...
done
Взгляните на опцию lftp
mirror
:
mirror [OPTS] [source [target]]
Зеркалирование указанного исходного каталога в локальный целевой каталог. Если целевой каталог заканчивается косой чертой (кроме корня), имя базы источника добавляется к имени целевого каталога. Источник и/или цель могут быть URL-адресами, указывающими на каталоги.
Дополнительные подробности см. в http://lftp.yar.ru/lftp-man.html.
EDIT
Из руководства:
lftp - это программа передачи файлов, которая позволяет использовать сложные FTP, HTTP и другие соединения с другими хостами. Если указан сайт, то lftp подключится к этому сайту, иначе соединение должно быть установлено с помощью команды open.
lftp может работать с несколькими методами доступа к файлам - FTP, FTPS, HTTP, HTTPS, HFTP, FISH, SFTP и файл (HTTPS и FTPS доступны только в том случае, если lftp скомпилирован с GNU TLS или OpenSSL). библиотекой).
lftp
можно использовать для получения файлов по HTTP. Попробуйте:
lftp -e "mirror -c" http://url