извлекать данные в Bash из URL

Как я могу извлечь IP-адрес и страну и поместить их по отдельности в строку без кавычек или любых других символов, присутствующих в тексте, с помощью следующей команды:

info_ip=`wget --tries=1 --timeout=10 -qO- http://ipinfo.io/?callback=callback; echo` 

$ ip =?

$ страна =?

One Solution collect form web for “извлекать данные в Bash из URL”

Вы можете использовать awk чтобы поймать ip и country и сохранить в массив:

 IFS=$'\n' IP_country=( $(awk -F'[:"]' '/ip/ || /country/{ print $5}' < <<"$( wget ... )") ) 

Тогда первый элемент - это ip а следующий - country :

 printf '%s\n' "${IP_country[0]}" 1.2.3.4 printf '%s\n' "${IP_country[1]}" IR 

Или распечатать все элементы:

 printf '%s\n' "${IP_country[@]}" 1.2.3.4 IR 

Будущее чтение:

  • Это нормальный подход к «резервному копированию» переменной $ IFS?
  • Что такое «IFS»?
Interesting Posts

IPv6, dnsmasq dhcp-range

Будет ли `cat ~ / foo *> ~ / results / output.txt` сохранять порядок` ~ / foo * `?

LD_LIBRARY_PATH потерян при использовании команды mount

btrfs и опция удаления диска на ssd

Как заставить bash не воспринимать

Почему sudo не установлен по умолчанию в Debian?

Как вводить / выбирать сеанс после выхода из системы без пароля в (Linux Mint) Xfce?

Найдите файл и создайте символическую ссылку для родителя с помощью find и -exec

Аудио перестало работать в Xine в Debian

Как разрешить ошибку при загрузке, «Не удалось найти устройство с UUID …»

Как скопировать содержимое (большого) vim-файла в системный буфер обмена OSX для вставки в другие приложения?

Параметры вызова Systemd

Почему установщик debian заставляет меня использовать имя пользователя, начинающееся с az, а adduser не указано выше?

Каков наилучший способ реализации поддержки горячих клавиш в Linux?

Почему обновление gnome-terminal нарушило мои системные цвета и как я его исправить?

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