Estou tentando extrair o tempo de uma string usando o bash e estou tendo dificuldade em descobrir.
Minha string é assim:
US/Central - 10:26 PM (CST)
E eu quero extrair a 10:26
parte.
Alguém conhece uma maneira de fazer isso apenas com bash - sem usar sed, awk, etc?
Tipo, em PHP eu usaria - não é a melhor maneira, mas funciona - algo como:
preg_match( ""(\d{2}\:\d{2}) PM \(CST\)"", "US/Central - 10:26 PM (CST)", $matches );
Obrigado por qualquer ajuda, mesmo que a resposta use sed ou awk
sed
versão, mas queria avisar os outros quesed
não precisa necessariamente de+
modificador. Uma maneira de contornar isso é usar o{1, }
modificador para combinar um ou mais.fonte
-n
depois solicitou a impressão novamente com/p
? Não seria o mesmo omitir o-n
sinalizador e omitir a/p
diretiva? Obrigado.Técnica chop-chop rápida e suja, sem regex e de baixa robustez
fonte
| read zone dash time apm zone
também funcionaSe sua corda é
então
fará o trabalho.
fonte
cut -c14-18
claro, apenas enquanto a posição do personagem não mudar. o que não deve acontecer se o fuso horário for fixo.