Вводить wget исключения из файла?

Я ползаю по форуму, и я натыкаюсь на определенные темы, которые продолжаются в течение десяти лет.

я могу, конечно, исключить их с помощью опции wget:

-X / т /41866,/ т /314849,/ т /335041,/ т /356321,/ т /491462,/ т /493609,/ т /493655,/ т /493667,/ т /493668,/ т 493676,/ т /493678

и я также могу исключить их, вставив строку в файл wgetrc

но я хотел бы просто вызвать файл, содержащий строку, как вы можете сделать с опцией -i, когда вы вызываете файл, который извлекает интересующие URL-адреса

так вместо (из руководства GNU wget 1.11.4)

exclude directoryies = string Укажите разделенный запятыми список каталогов, которые вы хотите исключить из загрузки - так же, как '-X строка'

так что я бы хотел, чтобы строка фактически извлекала содержимое файла. Есть ли способ сделать это?

3 ответа

Решение

Вы всегда можете просто использовать оболочку

wget -X `head -n1 exclude_file` blah

head -n1 В случае если в файле есть завершающий символ новой строки.

Вы можете использовать -I list или же --include-directories=list опция:

   -I list
   --include-directories=list
       Specify a comma-separated list of directories you wish to follow when downloading.  Elements
       of list may contain wildcards.
wget -X `perl -MFile:: Slurp -e '@ lines = read_file ("./ FILE.txt "); chop @lines; print join ",", @ lines'`

(вам может понадобиться установить модуль File::Slurp Perl).

Другие вопросы по тегам