grep

Iniciado por andaluz, 22 Marzo 2011, 19:38 PM

0 Miembros y 1 Visitante están viendo este tema.

andaluz

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 (bash) [Seleccionar]

#!/bin/bash

marca=$(grep [a-zA-Z]\{20\} ./datos.txt)
#modelo=$(grep [a-zA-Z0-9]\{20\})
#matricula=$(grep [0-9]\{/4\}"-"[A-Z]\{/3\})
#bastidor=$(grep [A-Z]\{/6\}"."[0-9][A-Z]\{/2\}"."[0-9][A-Z]"."[0-9]\{/6\})

echo ''>datos.txt

echo 'Introduce la marca: '
read marca
echo 'la marca es:'$marca >> datos.txt
cat datos.txt
echo ''

echo 'Introduce el modelo: '
read modelo
echo 'el modelo es: '$modelo >> datos.txt
echo ''

echo 'Introduce la matricula: '
read matricula
echo 'la matricula es: '$matricula >> datos.txt
echo ''

echo 'Introduce el bastidor: '
read bastidor
echo 'el bastidor es: '$bastidor >> datos.txt
echo ''
cat datos.txt

if [ head -1 | tail -1 | cut -d ":" -f 2 -eq $marca]
then
echo 'La marca es incorrecta.'
else
echo 'La marca es correcta.'
echo $marca
fi

leogtz

#1
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.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

andaluz

ya lo he solucionado!!!