"Si $variable contiene algun numero entonces...."

Imagen de nadie1991
0 puntos

Buenas a todos

Vereis estoy haciendo un script, y necesito comprobar en un if, a través de expresiones regulares si la variable $NOMBRE, contiene algun numero, este es el script:

echo
echo --------------

NOMBRE=`cat usuarios.txt | grep Nombre | cut -f2 -d-`
echo $NOMBRE

if [[ $NOMBRE =~ "[0-9]" ]] // AQUI EL PROBLEMA OS LO EXPLICO ABAJO:
then
echo "El argumento no es correcto porque contiene numero/s."
else
echo "El argumento es correcto porque contiene solo letras."
fi

El if lo que hace es que si no aparece ningún número es correcto porque son solo letras, y si es solo numeros, es falso porque son solo numeros.

Hasta ahí todo bien, pero ahora, si pongo por ejemplo: Pe7dro me dice que esta bien porque contiene solo letras.

He buscado en el foro y nada, y lo he intentado con el sed y awk, pero me no lo alcanzo a entender, necesito un cable porfavor.

Gracias por vuestro tiempo.

Imagen de joseluis
+1
0
-1

Yo lo haría con grep:

    if [[ $(echo $NOMBRE | grep "[0-9]") = "$NOMBRE" ]]
    then
        echo "El argumento no es correcto porque contiene numero/s."
    else 
        echo "El argumento es correcto porque contiene solo letras."
    fi
+1
0
-1

Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado

Imagen de nadie1991
+1
0
-1

Muchas gracias.

Creo que el if se podría interpretar como:

si ( la salida de la variable nombre filtrando algun numero es igual a la variable nombre ) entonces...

+1
0
-1