2014-12-06 2 views
0

У меня есть файл с именем files.txt со всеми файлами, которые я хочу скачать.Bash: Загрузить файлы из списка файлов

files.txt

http://file/to/download/IC_0000.tpl 
http://file/to/download/IC_0001.tpl 

Если я использую

cat files.txt | egrep -v "(^#.*|^$)" | xargs -n 1 wget 

все файлы загружаются.

Но я не знаю, как использовать Если files.txt содержит только файлы без HTTP

files.txt

IC_0000.tpl 
IC_0001.tpl 

У меня есть "Wget" только с этим: параметра Я

Usage: wget [-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document FILE] 
     [--header 'header: value'] [-Y|--proxy on/off] [-P DIR] 
     [--no-check-certificate] [-U|--user-agent AGENT] [-T SEC] URL... 

Помогите мне, пожалуйста.

Большое спасибо.

+0

У всех файлов есть одинаковый URL-адрес? – Seth

ответ

4

Просто попробуйте wget -i files.txt (см http://www.gnu.org/software/wget/manual/wget.html#Logging-and-Input-File-Options)

Если у вас нет хозяина в файле, попробуйте:

for i in `cat files.txt`; do wget "${HOST}/${i}"; done 
+0

Это лучше .. – Seth

+0

Url все тот же. Поэтому поиск решения, в котором будут файлы files.txt, будет осуществляться только без всего пути. – skyndas

0

Просто оставьте его здесь ... для MacOSX

file_name=newMP3List.txt && cur_path=$(pwd) && split -l 50 $file_name PART && find . -name "PART*" -print0 | xargs -0 -I f osascript -e "tell application \"Terminal\" to do script \"cd $cur_path && cat f | while read CMD; do curl -O \\\"\$CMD\\\"; done; rm f;\"" 

для linux

cat newMP3List.txt | while read CMD; do curl -O $CMD; done; 

необходимо заменить newMP3List.txt вашим файлом

Смежные вопросы