Hello!
On Fri, 29 May 2015 at 11:57:16 (+0300), Vladislav V. Prodan wrote:
> > Здесь можно уменьшить количество запросов вдвое, сохранив весь
> > результат работы whois в переменной.
> При сохранение в переменную, слетает разметка, построчный парсинг не
> работает.
> При сохранении через файл - повышается IOps и падает скорость обработки.
Если идти Вашим путём и использовать, так сказать, pure shell (/bin/sh), то вот
пример:
--- cut ---
ip_data=`whois ${ip} | awk 'tolower($1) ~ /^(country|origin|OriginAS):$/ && $2
{ key=($1=="OriginAS:" ? "origin:" : tolower($1)); arr[key]=$2 } END { for (key
in arr) print key arr[key] }'`
set -- ${ip_data}
case ${1} in
country:*) ip_country=${1#country:} ;;
origin:*) ip_as=${1#origin:} ;;
esac
case ${2} in
country:*) ip_country=${2#country:} ;;
origin:*) ip_as=${2#origin:} ;;
esac
--- cut ---
Кстати говоря, 'grep -i "[Cc]ountry:"' - это масло масляное =)
--
George L. Yermulnik
[YZ-RIPE]