filtrare una lista complessa

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
gabo
Prode Principiante
Messaggi: 69
Iscrizione: giovedì 19 aprile 2007, 0:26

filtrare una lista complessa

Messaggio da gabo »

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...
Avatar utente
difesaparcosempione
Rampante Reduce
Rampante Reduce
Messaggi: 6031
Iscrizione: giovedì 27 luglio 2006, 19:06
Località: Torino
Contatti:

Re: filtrare una lista complessa

Messaggio da difesaparcosempione »

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
:)
Avatar utente
kiroken_
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2008
Iscrizione: mercoledì 2 maggio 2007, 17:38

Re: filtrare una lista complessa

Messaggio da kiroken_ »

puoi usare questo script python

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 = None
devi passargli quei dati sullo standard input
http://petition.stopsoftwarepatents.eu/
d95555c36aeeee715c0a34ce1e4dd713
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti