LINUX.ORG.RU

Скрипт для подсчёта ip адресов.

 ,


0

1
#!/bin/sh

wget ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-extended-latest  -O ripe.txt 2>/dev/null
b=0
for a in `grep avail ripe.txt |grep ipv4|cut -f 5 -d '|'`;
do 
b=$(($b+$a))
done
echo IPv4 addresses is avaible: $b
rm -f ./ripe.txt

sleep 2

Это я нашёл в своей файлопомойке. По этому за кривость кода извините.

★★★★★

Ответ на: комментарий от Deleted

Как применить в повседневной жизни?

Очевидно, сквоттить освободившееся.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Вот его нормальная версия:

#!/bin/sh

RIPE_URL="ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-extended-latest"
DATA=$(wget $RIPE_URL -O- 2>/dev/null|pv|xxd -p -c 1)

b=0


for a in $(echo $DATA|xxd -r -p|grep -w available|grep -w ipv4|cut -f 5 -d '|')
do 
        b=$(($b+$a))
done

echo IPv4 addresses is avaible: $b
Теперь данные скрипт держит в переменной. Так как хранить рабочие данные в файлах - дурной тон.

ne-vlezay ★★★★★
() автор топика
Последнее исправление: ne-vlezay (всего исправлений: 1)
curl ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-extended-latest | grep avail | grep ipv4 | cut -f5 -d '|' | pipecalc sum


pipecalc — самописная поделка который складывает или находит min/max/avg/процентиль массива чисел вдутых ей в stdin. Как-раз чтобы не писать такие скрипты на каждый чих

MrClon ★★★★★
()

чё у вас у всех фетиш такой с cut & grep? вот как-то так надо:

curl  $URL |  awk -F '|' '/ipv4[|0-9\.]+available$/ { sum=sum+$5 } END {print "IPv4 addresses is avaible:",sum}'

vasyan
()

А почему только смотрите на RIPE?

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.