у меня есть wget
команда:
wget -r --no-parent -nH -nd -q --show-progress --progress=bar:force ftp://ftp.ncdc.noaa.gov/pub/data/swdi/database-csv/v2/
Но это работает только в новых версиях wget
, К сожалению, у меня есть более старая версия wget
(GNU Wget 1.15 построен на darwin14.3.0) и не может его обновить. В частности, это wget
--show-progress
вариант, который не распознается.
Мне интересно, если есть эквивалентная команда для curl
? Версия curl
в моей системе 7.37.1 (x86_64-apple-darwin14.0).
wget
но с тех порwget
не входит в стандартную настройку ядра системы Mac OS X и должна выполняться самостоятельно, кто-то четко скомпилировал ее и установил там. Тем не менее, есть способ для вас, чтобы скомпилировать и запустить более новую версиюwget
без необходимости обновлятьwget
это уже установлено в вашей системе. Подробности в моем ответ опубликован ,wget
что Homebrew установлен для запуска более новой версииwget
, Если он был установлен Homebrew, то Homebrew зависит от Xcode для компиляции из исходного кода. Мои инструкции покажут вам, как вы можете скомпилироватьwget
самостоятельно в своем домашнем каталоге и запускайте его из этого домашнего каталога, вообще не мешая Homebrew.Ответы:
На основании того, что я знаю о том, как
curl
работает и какwget
работы, они могут показаться внешне одинаковыми, но нет эквивалентаwget
рекурсивная функциональность вcurl
, Чтобы сделать что-то подобное вcurl
требует некоторого причудливого сценария Bash, чтобы обернуть вокругcurl
команда.Поэтому, когда вы говорите, что не можете обновить
wget
, что именно ты имеешь ввиду? посколькуwget
это инструмент GNU, он не устанавливается вместе с Darwin (который основан на BSD) и часто компилируется из исходного кода. Фактически предоставленные вами сведения о версии явно каким-то образом скомпилированы из исходного кода, поскольку версия «GNU Wget 1.15 построена на darwin14.3.0». Так что, если эта версияwget
был установлен что-то вроде Homebrew есть надежда, поскольку если в вашей системе установлен Homebrew, то в вашей системе также должен быть установлен Xcode и соответствующие инструменты / компиляторы командной строки.Теперь, зная это, вы сможете собрать обновленную версию
wget
- как 1.16.3 - из источника; минуя установленную Homebrew версию и просто выполняя ее из домашнего каталога. У вас нетroot
/sudo
доступ для этого; вот как вы можете это сделать.составление
wget
из источника.Сначала возьмите сжатый архив от официального
wget
исходный сайт:Затем распакуйте архив следующим образом:
Теперь перейдите в распакованный каталог:
Запустить это
configure
команда:Если как то
configure
Сбой команды, вам может понадобиться добавить--with-libssl-prefix
значение как это:Однажды
configure
процесс завершен, запуститеmake
:Если это работает чисто недавно скомпилированной версии
wget
1.16.3 бинарный готов для использования.Запуск только что скомпилированной версии
wget
из вашего домашнего каталога.Сейчас в большинстве инструкций сказано, что вы должны запустить
sudo make install
получитьwget
полностью установлен в системе. Но если у вас нетroot
/sudo
привилегии - или вы не хотите обновлятьwget
версия, которая установлена для всей системы - вы все еще можете запуститьwget
двоичный файл, который вы только что скомпилировали Во-первых, давайте вернемся из вашегоwget
исходный каталог вроде этого:Теперь просто запустите
wget
1.16.3 двоичный файл, который вы просто скомпилировали явно, чтобы убедиться, что он работает:Вывод должен быть примерно таким:
Что означает, что вы сейчас в бизнесе!
Запуск вашего
wget
Команда из вашего домашнего каталога.Так что теперь вы можете запустить
wget
Команда размещена в вашем вопросе так:И небольшая настройка - но стоит отметить, - это так много
wget
варианты имеют полные имена и сокращенные сокращения. Так--no-parent
можно сократить до-np
чтобы команда выглядела так:Очистка после использования.
И если вы хотите избавиться от
wget
1.16.3 вещи, которые вы только что скомпилировали - поскольку вы говорите, что компьютер, на котором вы работаете, не ваш, - тогда просто удалитеwget
исходные файлы, с которыми вы только что работали:источник