elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  script ficheros [bash]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: script ficheros [bash]  (Leído 2,362 veces)
andaluz


Desconectado Desconectado

Mensajes: 333



Ver Perfil
script ficheros [bash]
« en: 16 Febrero 2012, 13:43 pm »

hola a todos me gustaría que me ayudasen a resolver el siguiente script:

Se pide construir un script que pida al usuario una ip me devuelva el sitio web al que apunta y el puerto por el que se conecta. Por Ej: Si el usuario introduce la ip 10.0.0.10, el script debe devolver: www.sitio3.com 8080.
En caso de que la ip dada no exista deberá devolver el mensaje: “IP NO REGISTRADA.”

los ficheros son los siguientes:

ips.txt
--------
192.168.0.10 www.sitio01.net
172.26.0.10 www.sitio2.org
10.0.0.10 www.sitio3.com
192.168.10.5 www.sitio4.es

puertos.txt
----------
www.sitio01.net 80
www.sitio2.org 8008
www.sitio3.com 8080
www.sitio4.es 8000

el script que yo he realizado es el siguiente:
Código
  1. #!/bin/bash
  2.  
  3. echo "elegimos la ip de la que queremos saber el puerto: "
  4. cat ./ips.txt
  5. echo ""
  6.  
  7. echo "Introduce una IP para saber su puerto: "
  8. read ip
  9. echo "IP: "$ip
  10.  
  11. buscar_ip=$(cat ./ips.txt | grep -n '^'$ip'$' | cut -d " " -f 1)
  12.  
  13. puerto=$(head -$buscar_ip puertos.txt | tail -1)
  14. echo "puerto: "$puerto
  15.  

Se que no es un script complicado, pero no consigo resolverlo

Saludos


En línea

andaluz


Desconectado Desconectado

Mensajes: 333



Ver Perfil
Re: script ficheros [bash]
« Respuesta #1 en: 16 Febrero 2012, 14:43 pm »

ya lo tengo casi resuelto

Código
  1. #!/bin/bash
  2.  
  3. lin_ip=$(wc -l ./ips.txt | cut -d  " " -f 1)
  4. lin_puert=$(wc -l ./puertos.txt | cut -d  " " -f 1)
  5. echo "IP: "$lin_ip
  6. echo 'Puert: '$lin_puert
  7.  
  8. echo "elegimos la ip de la que queremos saber el puerto: "
  9. cat ./ips.txt
  10. echo ""
  11.  
  12. echo "Introduce una IP para saber su puerto: "
  13. read ip
  14. echo "IP: "$ip
  15.  
  16. buscar_ip=$(cat ./ips.txt | grep -c '^'$ip'$' | cut -d " " -f 1 ./ips.txt)
  17. buscar_direc_ip=$(cat ./ips.txt | grep -c '^'$ip'$' | cut -d " " -f 2 ./ips.txt)
  18. buscar_puerto=$(cat ./puertos.txt | grep -c '^'$ip'$' | cut -d " " -f 1 ./puertos.txt)
  19. buscar_puerto_puerto=$(cat ./puertos.txt | grep -c '^'$ip'$' | cut -d " " -f 2 ./puertos.txt)
  20. echo "buscar_ip: "$buscar_ip
  21. echo "buscar_direc_ip: "$buscar_direc_ip
  22. echo "buscar_puerto: "$buscar_puerto
  23. echo "buscar_puerto_puerto: "$buscar_puerto_puerto
  24.  
  25. for i in $(seq $i $lin_ip)
  26. do
  27.    if [ "$lin_ip" = "$i" ]
  28.    then
  29.        ii=$(head -$i ./puertos.txt | tail -1 | cut -d " " -f 2)
  30.        echo "ii: "$ii
  31.    fi
  32. done
  33.  

el único inconveniente es que siempre me muestra el ultimo puerto, no el que yo elijo, me pueden ayudar a terminar de solucionarlo,

saludos


En línea

andaluz


Desconectado Desconectado

Mensajes: 333



Ver Perfil
Re: script ficheros [bash]
« Respuesta #2 en: 16 Febrero 2012, 16:23 pm »

solucionado!!!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines