A partire da un file fatto in questo modo:
192.168.0.99 () Ports
8080/open/tcp//http-proxy?///
192.168.0.19 () Ports
192.168.0.93 () Ports
81/open/tcp//http//Apache httpd/
192.168.0.13 () Ports
80/open/tcp//http//Apache httpd/
8080/open/tcp//http-proxy?///
8081/open/tcp//http//Apache httpd/
(praticamente ci sono degli ip e sotto ci sono delle porte)
vorrei ottenere questo:
192.168.0.99:8080
192.168.0.93:81
192.168.0.13:80
192.168.0.13:8080
192.168.0.13:8081
Il problema è scartare gli host senza porte come il 192.168.0.19 e ottenere gli ip:porta per ogni porta riferita a quell'host
avete qualche idea ho provato con i vari awk -F etc.. ma non riesco a gestire le diverse condizioni in modo ricorsivo...
filtrare una lista complessa
- difesaparcosempione
- Rampante Reduce

- Messaggi: 6031
- Iscrizione: giovedì 27 luglio 2006, 19:06
- Località: Torino
- Contatti:
Re: filtrare una lista complessa
Bhe se maometto non va alle montagna , la montagna ..
Come , con che comandi , hai ottenuto quel file ? Magari si può instervenire a monte ...
Posta il comando che hai utilizzato ..
ciao

Come , con che comandi , hai ottenuto quel file ? Magari si può instervenire a monte ...
Posta il comando che hai utilizzato ..
ciao
Re: filtrare una lista complessa
puoi usare questo script python devi passargli quei dati sullo standard input
Codice: Seleziona tutto
#!/usr/bin/env python
import sys
for line in sys.stdin:
i = line.find("()")
if i != -1:
ip = line[:i].strip()
elif ip is not None:
i = line.find("/")
if i != -1:
print ip + ":" + line[:i].strip()
else:
ip = Nonehttp://petition.stopsoftwarepatents.eu/
d95555c36aeeee715c0a34ce1e4dd713
d95555c36aeeee715c0a34ce1e4dd713
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti
