Usando expressões regulares no bash

Exemplo prático. Validando endereço de IP:

if [[ $IP_ADDR =~ ^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$ ]]; then
        echo "IP Valido"
else
	echo "IP Invalido"
fi

Para negar a validação

if [[ ! $IP_ADDR =~ ^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$ ]]; then
        echo "IP Invalido"
else
	echo "IP Valido"
fi