Estoy tratando de extraer el tiempo de una cadena usando bash, y me cuesta descifrarlo.
Mi cadena es así:
US/Central - 10:26 PM (CST)
Y quiero extraer la 10:26parte.
¿Alguien conoce una forma de hacer esto solo con bash, sin usar sed, awk, etc.?
Por ejemplo, en PHP usaría, no de la mejor manera, pero funciona, algo como:
preg_match( ""(\d{2}\:\d{2}) PM \(CST\)"", "US/Central - 10:26 PM (CST)", $matches );
Gracias por cualquier ayuda, incluso si la respuesta usa sed o awk

sedversión, pero quería advertir a otros quesedno necesariamente requiere+modificador. Una forma de evitarlo es usar el{1, }modificador para hacer coincidir uno o más.fuente
-nluego solicita la impresión de nuevo con/p? ¿No sería lo mismo omitir la-nbandera y omitir la/pdirectiva? Gracias.Técnica chop-chop rápida y sucia, sin expresiones regulares y de baja robustez
fuente
| read zone dash time apm zonetambién funcionaSi tu cuerda es
luego
hará el trabajo.
fuente
cut -c14-18por supuesto, solo mientras la posición del personaje no cambie. lo que no debería suceder si se corrige la zona horaria.