wget из файла и сохраняют как соответственно к имени файла

У меня есть несколько файлов, каждый файл содержит URL.

Как я могу использовать wget чтобы считать каждый файл и загрузить URL в нем, сохраните его как контейнерное имя файла?

EX: файл name.frm содержит:

http://some_domain.com/459830945.txt

Мне нужен URL, который будет сохранен как: файл name.txt

-1
задан 15 December 2019 в 02:28

2 ответа

С тех пор wget имеет -i опция считать один или несколько URL из файла, простой цикл оболочки должен быть достаточным:

for f in *.frm; do 
  wget -i "$f" -O "${f%.frm}.txt"
done

, Если Вы не можете использовать -i опция, затем можно считать одну строку из каждого файла с помощью удара, встроенного read функция:

for f in *.frm; do 
  IFS= read -r url < "$f" && wget "$url" -O "${f%.frm}.txt"
done         
1
ответ дан 21 December 2019 в 23:32

Создайте сценарий удара в том же каталоге со следующим содержанием.

#! /usr/bin/env bash
SAVEIFS=$IFS
IFS= 

Теперь, выполните файл удара.

bash script.sh

нет никакого решения с помощью только wget, и необходимо смешаться sed (любая утилита к обработке текста) и считать URL, потому что файл с URL в wget не имеет пользовательского названия файла.

Моя суть .

\n' files=$(ls -1 *.frm) for file in ${files[@]}; do downloaded_file=$(echo $file | sed 's/\.frm/.txt/') url_file=$(more $file) wget $url_file -O $downloaded_file done IFS=$SAVEIFS

Теперь, выполните файл удара.

bash script.sh

нет никакого решения с помощью только wget, и необходимо смешаться sed (любая утилита к обработке текста) и считать URL, потому что файл с URL в wget не имеет пользовательского названия файла.

Моя суть .

0
ответ дан 21 December 2019 в 23:32

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

Похожие вопросы: