A mí me llama la atención la mención a Bash. ¿En qué herramienta estás usando esto? es probable que no acepte tu expresión. Sed, por ejemplo, entiende + literalmente y no como cuantificador.
Busca alguna manera de hacer la validación con herramientas del sistema, tal y como te lo propone
pateketrueke (hola!

). Por ejemplo, con AWK podrías hacer algo como
Código AWK:
Ver originalawk -F: '/^[0-9][0-9]:[0-9][0-9]:[0-9][0-9]$/ {
if ($1 < 99 && $2 < 60 && $3 < 60) {
print $0 " valido"
}
}'