Скрипт BASH: загрузка последовательных пронумерованных файлов с помощью wget - PullRequest
44 голосов
/ 15 сентября 2009

У меня есть веб-сервер, который сохраняет файлы журналов пронумерованных веб-приложений. Пример имени файла для этого будет:

dbsclog01s001.log
dbsclog01s002.log
dbsclog01s003.log

Последние 3 цифры являются счетчиком, и они могут иногда достигать 100.

Я обычно открываю веб-браузер, просматриваю файл как:

http://someaddress.com/logs/dbsclog01s001.log

и сохраните файлы. Это, конечно, немного раздражает, когда вы получаете 50 логов. Я попытался придумать BASH-скрипт для использования wget и передачи

http://someaddress.com/logs/dbsclog01s*.log

но у меня проблемы с моим сценарием. Во всяком случае, у кого-нибудь есть образец, как это сделать?

спасибо!

Ответы [ 11 ]

0 голосов
/ 15 сентября 2009

Здесь вы можете найти Perl-скрипт, который выглядит так, как вы хотите

http://osix.net/modules/article/?id=677

#!/usr/bin/perl
$program="wget"; #change this to proz if you have it ;-)
my $count=1; #the lesson number starts from 1
my $base_url= "http://www.und.nodak.edu/org/crypto/crypto/lanaki.crypt.class/lessons/lesson";
my $format=".zip"; #the format of the file to download
my $max=24; #the total number of files to download
my $url;

for($count=1;$count<=$max;$count++) {
    if($count<10) {
    $url=$base_url."0".$count.$format; #insert a '0' and form the URL
    }
    else {
    $url=$base_url.$count.$format; #no need to insert a zero
    }
    system("$program $url");
}
...