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.

Prueba con grep
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." fiFdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado
SOLUCIONADO
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...