объединить ип в диапазоны - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB93.7196
BTC/USD61788.4863
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 07.06.2012, 20:56   #1
xcrew
Senior Member
 
Регистрация: 25.06.2009
Сообщений: 803
Бабло: $141790
По умолчанию объединить ип в диапазоны

Имеется такой список ип:
Цитата:
1.1.1.1
1.1.1.2
1.1.1.3
1.1.1.4
........
1.1.2.1
1.1.2.2
можно ли чемнить автоматом сгруппировать ип в диапазоны?
что бы на выходе получилось:
Цитата:
1.1.1.[1-4]
1.1.2.[1-2]
PS ип очень много, руками не вариант)))
update
диапазоны ип могут получаться сложными, к примеру 1.[20-255].[10-32].[0-255]
xcrew вне форума  
Старый 07.06.2012, 21:51   #2
Venya Tolinov
Senior Member
 
Аватар для Venya Tolinov
 
Регистрация: 24.11.2010
Сообщений: 229
Бабло: $52860
Отправить сообщение для Venya Tolinov с помощью Skype™
По умолчанию

Немного непонятно что значит многоточие, но если задачу сформулировать так есть список, нужен диапазон то простой скриптик на Питоне:
PHP код:
#!/usr/local/bin/python
# encoding: utf-8

min_ip = [255,255,255,255]
max_ip = [0,0,0,0]
with open('ip.txt''r') as f:
    for 
line in f:
        
ip = [int(a) for a in line.strip().split('.')]
        
min_ip map(minzip(ipmin_ip))
        
max_ip map(maxzip(ipmax_ip))
print_str = []
for 
i in zip(min_ipmax_ip):
    if 
cmp(*i):
        
print_str.append('%s-%s' i)
    else:
        
print_str.append('%s' i[0])
print 
'.'.join(print_str
Для первого примера:
PHP код:
[venya@localhost ip]$ ./test.py
1.1.1.1
-
__________________
Amazon Graffiti - монетизация страниц в Facebook
Venya Tolinov вне форума  
Старый 07.06.2012, 21:54   #3
Drunk Monk
Je suis moine ivre
 
Аватар для Drunk Monk
 
Регистрация: 03.03.2009
Сообщений: 15,268
Бабло: $797172957
По умолчанию

Excel - Сортировка от А до Я, или че?
Drunk Monk вне форума