Mam listę adresów IP:
238.51.208.96/28
238.51.209.180-199
238.51.209.100-109
238.51.213.2-254
...
Jak mogę łatwo je sparsować? Potrzebuję pierwszego i ostatniego adresu IP z zasięgu. Do pierwszej linii mogę użyć modułu Net :: NetMask CPAN, ale co mogę zrobić z liniami innych?Jak mogę analizować adresy IP i zakresy adresów za pomocą Perla?
Odpowiedz
Spróbuj Net::IP moduł
Jeśli drugie wzory nie obsługuje, może zaistnieć potrzeba pewnych zmian ips zaliczek jak
238.51.209.180-199
do
238.51.209.180 - 238.51.209.199
przy użyciu niektórych regex, dla przykład:
$range =~ s/^((?:\d+\.){3})(\d+)-(\d+)$/$1$2 - $1$3/gm;
Pełny skrypt:
use warnings;
use strict;
use Net::IP;
my $range = "238.51.209.180-199";
$range =~ s/^((?:\d+\.){3})(\d+)-(\d+)$/$1$2 - $1$3/;
my $ip = new Net::IP ($range) || die;
print $ip->ip(), "\n";
print $ip->last_ip(), "\n";
można dopasować adresy IP przy użyciu pakietu Regexp::Common::net i manipulować nimi (i dostać Maski sieciowe itp) z dowolnej liczby modułów w CPAN, w tym Network::IPv4Addr, NetAddr::IP i Net::CIDR.
Zamierzałem użyć smt w ten sposób: # Sprawdź, jaki mamy format zasięgu? \t if ($ ipline = ~/^ ((?: \ D + \.) {3}) (\ d +) - (\ d +) $ /) { \t \t $ ipline = ~ s/^ ((? \ d + \.) {3}) (\ d +) - (\ d +) $/1 $ 2 $ - 1 $ 3 $ /; \t} –
- 1. prywatne zakresy adresów IP
- 2. Jak określić adresy IP komputerów lokalnych z Perla?
- 3. Jak pingować adresy IP za pomocą JavaScriptu
- 4. Jak mogę wygenerować zakres adresów IP w Perlu?
- 5. Jak cenzurować adresy IP w pliku za pomocą Pythona?
- 6. Wyodrębnianie adresów IP z ciągów znaków za pomocą wyrażeń regularnych
- 7. Jak zablokować zakres adresów IP za pomocą pliku .htaccess
- 8. Jak przekierować cały zakres/blok adresów IP za pomocą PHP?
- 9. Jak mogę pobrać plik za pomocą Perla?
- 10. UserHostAddress podaje niewłaściwe adresy IP
- 11. Ograniczanie adresów IP dla Jetty i Solr
- 12. Co zyskuję filtrując adresy URL za pomocą modułu URI Perla?
- 13. Jak filtrować adresy MAC za pomocą tcpdump?
- 14. Zakresy sklepów IP w Redis
- 15. Jak mogę dopasować adresy IPv6 do wyrażenia regularnego Perla?
- 16. Absolutne (zewnętrzne) adresy URL za pomocą Html.ActionLink
- 17. Adresy IP i geokodowanie 3G/Edge/GPRS
- 18. Biorąc pod uwagę zakres podsieci i listę adresów IP, zaznacz wszystkie wiersze, w których adresy IP mieszczą się między
- 19. Używanie Perla do uzyskania listy adresów IP z Cisco Call Manager
- 20. Slack webhook - które adresy IP należy otworzyć?
- 21. Jak mogę połączyć adresy URL za pomocą php?
- 22. Jak mogę przejść drzewo YAML za pomocą YAML :: Tiny Perla?
- 23. Jak mogę automatycznie zaktualizować wersję $ modułów Perla za pomocą Git?
- 24. Adresy IP pracowników Google Cloud Platform DataFlow:
- 25. Adresy URL Hashbang za pomocą Ember.js
- 26. Jak analizować/przycinać adresy e-mail z tekstu
- 27. Jak analizować składanie formularzy za pomocą Dart?
- 28. Jak mogę sprawdzić rozszerzenie pliku za pomocą Perla?
- 29. Jak ta sama polityka pochodzenia ma zastosowanie do adresów IP?
- 30. Jak analizować stronę za pomocą html5ever, modyfikować DOM i serializować?
'my $ ip = new Net :: IP (" 238.51.209.180-199 ") || die; 'output is' Died in ./andrey-zentavr.pl line 5.' –
@Kinopiko - dodano obejście. – YOU
Edytowałem Twoje wyrażenie regularne i teraz działa. –