История изменений
Исправление vodz, (текущая версия) :
$ IFS="-; " read ip1 ip2 country <<< "5.39.33.40-5.39.33.47 ES;"
$ echo $ip1 $ip2 $country
5.39.33.40 5.39.33.47 ES
$ IFS=. read -ra IP <<< "$ip1"
$ for((i=0;i<4;i++)); do ((ipn1=ipn1*256+${IP[i]})); done
echo $ipn1
86450472
Вот как-то так получаем значения IP в int32, сравниваем со следующей строкой и если разница на 1, то склеиваем и печатаем country1
Исправление vodz, :
$ IFS="-; " read ip1 ip2 country <<< "5.39.33.40-5.39.33.47 ES;"
$ echo $ip1 $ip2 $country
5.39.33.40 5.39.33.47 ES
$ IFS=. read -ra IP <<< "$ip1"
$ for((i=0;i<4;i++)); do ((ipn1=ipn1*256+${IP[i]})); done
echo $ipn1
86450472
Вот как-то так получаем значения IP в int32, сравниваем со следующей строкой и если разница на 1, то склеиваем и перчатаем country1
Исходная версия vodz, :
$ IFS="-; " read ip1 ip2 country <<< "5.39.33.40-5.39.33.47 ES;"
$ echo $ip1 $ip2 $country
5.39.33.40 5.39.33.47 ES
$ IFS=. read -ra IP <<< "$ip1"
$ echo "${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]}"
5.39.33.40
$ for((i=0;i<4;i++)); do ((ipn1=ipn1*256+${IP[i]})); done
echo $ipn
86450472
Вот как-то так получаем значения IP в int32, сравниваем со следующей строкой и если разница на 1, то склеиваем и перчатаем country1