У меня есть файл, который выглядит следующим образом:Как создать каталог и извлечь файл по FTP в этот каталог с помощью Perl?
ftp://url1/files1.tar.gz dir1
ftp://url2/files2.txt dir2
.... many more...
То, что я хочу сделать эти шаги:
- Создание каталога на основе колонке 2
- Unix «CD» в этот каталог
- Загрузить файл с 'wget' на основе столбца
Но как этот подход не работает
while(<>) {
chomp;
my ($url,$dir) = split(/\t/,$_);
system("mkdir $dir");
system("cd $dir");
system("wget $url"); # This doesn't get executed
}
Каков правильный путь?
Вероятно, вы должны использовать '&&' вместо ';', на всякий случай, если 'mkdir' или' cd' по какой-то причине не работают. – cjm
Хорошая точка и фиксированная. У нас когда-то был установочный скрипт на HPUX, запущенный как root, который сделал компакт-диск в установочном каталоге, а затем chowned и chmod'ed все под ним для конкретного пользователя и разрешения. К сожалению, мы пропустили каталог установки, скрипт остался в '/', и каждый проклятый файл на коробке был изменен. Ой, вернемся к однопользовательскому режиму мы идем :-) – paxdiablo
@paxdiablo: спасибо. Но, я получил это сообщение об ошибке: 'sh: -c: строка 1: синтаксическая ошибка около неожиданного токена' && ''. – neversaint