![Cómo comprobar si la línea tiene el siguiente formato XXXX](https://rvso.com/image/164739/C%C3%B3mo%20comprobar%20si%20la%20l%C3%ADnea%20tiene%20el%20siguiente%20formato%20XXXX.png)
Ya tengo :
$p =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]$
pero esto solo funciona para números, ¿cómo puedo hacer para que incluya palabras y sin importar el tamaño?
Por ejemplo:
this.should.definitely.work
sería válido y
this1.should.definitely.work2
Sería válido también
Respuesta1
El patrón de expresiones regulares más preciso para su caso sería:
^[^[:space:].]+\.[^[:space:].]+\.[^[:space:].]+\.[^[:space:].]+$
Respuesta2
He llegado a esta solución:
foo="this1.should.definitely.work2"
[[ $foo =~ ^.*\..*\..*\..*$ ]] && echo "match"
Respuesta3
Podrías usar la [[:alnum:]]
clase que significa letras y dígitos:
$p =~ ^[[:alnum:]]+\.[[:alnum:]]+\.[[:alnum:]]+\.[[:alnum:]]+$