Рейтинг:0

Как скачать файлы из текстового файла

флаг co

У меня есть несколько текстовых файлов, таких как a0001.txt, a0002.txt... до a0900.txt, содержащих прямые ссылки на изображения. https://example.com/photos/example.jpg

Я хочу пакетно загрузить все ссылки из папки a0001.txt в папку a0001 и т. д. в соответствующих именах папок в виде текстового файла.

Ссылки должны быть загружены для того, чтобы изображения переименовывались с префиксом. В целях сортировки.

То, что я пробовал, было ниже. Но скачивает по одному файлу. Супер медленно. Есть ли другой способ сделать это параллельно?

#! /USR/бен/окружение
bashif [ -z $1 ] || egrep -qv '^https?:\/\/[^[:space:]]+' $1; тогда
  echo "Использование: $0 ФАЙЛ"
  echo "ФАЙЛ должен быть списком URL-адресов, разделенных новой строкой."
  выход
фи

INPUT_FILE=$1
OUTPUT_DIRECTORY="${INPUT_FILE%.*}"

mkdir -p $OUTPUT_DIRECTORY

я=1
при чтении URL; делать
  FILENAME="${URL##*/}"
  curl -L $URL > "${OUTPUT_DIRECTORY}/${i}_${FILENAME}"
  я=$(($я+1))
сделано < $INPUT_FILE
terdon avatar
флаг cn
Ваша строка shebang действительно `#! /usr/bin/env` или вы имели в виду `#! /usr/bin/env bash`?
waltinator avatar
флаг it
Всегда вставляйте свой скрипт в `https://shellcheck.net`, средство проверки синтаксиса или устанавливайте `shellcheck` локально. Сделайте использование `shellcheck` частью вашего процесса разработки.
FedKad avatar
флаг cn
Вы можете запустить процессы `curl` параллельно, добавив `&` в конец команды. Но не стоит запускать слишком много процессов. Например, через каждые десять итераций вы можете запускать команду «ожидание».
waltinator avatar
флаг it
Прочитайте `man seq`, чтобы сгенерировать строки "`A00001, ..., A0900`. Добавьте "&`" к вашей команде `curl`".

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.