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