Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: andaluz en 22 Marzo 2011, 19:38 pm



Título: grep
Publicado por: andaluz en 22 Marzo 2011, 19:38 pm
hola a todos, tengo un problemilla con este ejercicio, el cual no lo he terminado todavia, pero el error que me tiene loco es para comprobar la marca, siempre me salta el else de la instruccion if, me gustaria saber cual es el error que tiene mi codigo en esta parte y ya seguire con las demas partes.

#   crear un script que actue como filtro para registrar los datos que se piden para registrar un vehiculo. estos datos son:
# marca: cualquier secuencia de linetales o numeros.
# modelo: cualquier secuencia de literales o numeros.
# matricula: 1111-AAA
# bastidos: AAAAAA.1AA.1A.111111

Código
  1. #!/bin/bash
  2.  
  3. marca=$(grep [a-zA-Z]\{20\} ./datos.txt)
  4. #modelo=$(grep [a-zA-Z0-9]\{20\})
  5. #matricula=$(grep [0-9]\{/4\}"-"[A-Z]\{/3\})
  6. #bastidor=$(grep [A-Z]\{/6\}"."[0-9][A-Z]\{/2\}"."[0-9][A-Z]"."[0-9]\{/6\})
  7.  
  8. echo ''>datos.txt
  9.  
  10. echo 'Introduce la marca: '
  11. read marca
  12. echo 'la marca es:'$marca >> datos.txt
  13. cat datos.txt
  14. echo ''
  15.  
  16. echo 'Introduce el modelo: '
  17. read modelo
  18. echo 'el modelo es: '$modelo >> datos.txt
  19. echo ''
  20.  
  21. echo 'Introduce la matricula: '
  22. read matricula
  23. echo 'la matricula es: '$matricula >> datos.txt
  24. echo ''
  25.  
  26. echo 'Introduce el bastidor: '
  27. read bastidor
  28. echo 'el bastidor es: '$bastidor >> datos.txt
  29. echo ''
  30. cat datos.txt
  31.  
  32. if [ head -1 | tail -1 | cut -d ":" -f 2 -eq $marca]
  33. then
  34. echo 'La marca es incorrecta.'
  35. else
  36. echo 'La marca es correcta.'
  37. echo $marca
  38. fi
  39.  


Título: Re: grep
Publicado por: leogtz en 22 Marzo 2011, 22:26 pm
Por favor, coloca el contenido del archivo "datos.txt"

Además coloca lo que quieres obtener de ese mismo archivo.

Saludos.

PD: ¿Es obligatorio grep?, podríamos usar sed.


Título: Re: grep
Publicado por: andaluz en 27 Marzo 2011, 19:37 pm
ya lo he solucionado!!!