Используйте curl для загрузки списка файлов в csv

У меня есть csv расширений URL-адресов JPG.

http://www.example.com/images/[url_extension] 

Я хочу использовать curl для прокрутки CSV и загрузки jpg на каждом расширении. Пока у меня есть следующее, но я боюсь синтаксиса. Любая помощь приветствуется.

 #!/bin/bash file=urlextensions.csv while read line do outfile=$(echo $line | awk 'BEGIN { FS = "/" } ; {print $NF}') curl -o "$http://www.example.com/images/" "$line" done < "$/Users/Me/Documents/urlextensions.csv" 

One Solution collect form web for “Используйте curl для загрузки списка файлов в csv”

В вашем коде есть несколько ошибок:

  1. Вы определяете file в строке 2, но затем вы не используете его в цикле.
  2. Ввод $ перед вещами заставит оболочку попытаться заменить его, что, вероятно, не так, как вы хотите, когда вы делаете $http или $/Users .
  3. Вы определяете outfile в своем цикле, но вы его не используете. Возможно, вы хотели положить его после -o на свою линию завитка.
  4. Аргумент -o для завивки должен быть именем файла, но вы помещаете туда URL.
  5. Базовый URL ( http://www.example.com/images ) и часть, которую вы добавляете к нему, должны быть в одном и том же аргументе, а не разделены пробелом, который заставит оболочку думать, что она принимает два аргумента.

Поэтому я получаю:

 #!/bin/bash filename=./extensions.txt while read line || [[ -n "$line" ]]; do echo downloading $line curl -o $line "http://example.com/$line" done < "$filename" 

Если вы поместите это в имя файла read_examp и сделаете его исполняемым, вы увидите, что он работает как:

 chicks$ cat extensions.txt foo bar baz chicks$ ./read_examp foo % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1270 100 1270 0 0 41794 0 --:--:-- --:--:-- --:--:-- 42333 bar % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1270 100 1270 0 0 53987 0 --:--:-- --:--:-- --:--:-- 55217 baz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1270 100 1270 0 0 48366 0 --:--:-- --:--:-- --:--:-- 48846 chicks$ ls -l `cat extensions.txt` -rw-r--r-- 1 chicks staff 1270 Oct 7 10:01 bar -rw-r--r-- 1 chicks staff 1270 Oct 7 10:01 baz -rw-r--r-- 1 chicks staff 1270 Oct 7 10:01 foo 

Примечание: вы указываете CSV, но ваш примерный код, похоже, вообще не имеет отношения к этому. Вы можете расширить это с помощью чего-то вроде этого, чтобы вытащить поле из своего CSV вместо использования всей строки.

  • Есть ли браузер, поддерживающий локальные адреса IPv6 Link?
  • Получение URL-адреса перенаправления фишинга
  • Какие URI начинаются с файла: // или application: //?
  • Введите URL-адрес и статус HTTP-статуса
  • Wget не будет рекурсивно загружать
  • Сохраните команду ../../../ в команде wget
  • Как найти URL-адрес сохраненной веб-страницы?
  • Добавление www в URL: не работает
  • Два HTTP-сервера на портах 80 и 443
  • Что не так с обработкой URI в Linux Mint?
  • URL Rewrite на debian не работает
  • Interesting Posts

    Какую командную строку использовать для настройки функции «Запуск в терминале» Double Commander для использования терминала XFCE?

    Интернет в альпийском виртуальном боксе в macos

    Как изменить приглашение в Linux?

    Как добавить горизонтальное разделение на окно tmux, которое охватывает всю ширину родительского окна?

    свободный / верх разница. Есть ли бесплатная виртуальная память?

    Как SSH через промежуточный сервер

    Карта охватывает esc для RHEL 5?

    502 Неверный шлюз

    Perl печатает строки, соответствующие столбцам файла 1 и file2

    Как настроить почтовую команду для чтения Maildir вместо стандартного mbox на OpenBSD?

    Почему существует диспропорция в использовании диска, сообщаемая df и du?

    Как понять значения TTL в выводе команды dig?

    Настроить vsftpd разрешить доступ к установленному файлу ISO

    7.1 аудио с AVR: только передний левый и правый выходы

    Как ускорить восстановление «застрявшей» cifs mount?

    Linux и Unix - лучшая ОС в мире.