Isto:
$ <grep-command> | sed -r 's|^.*/([0-9]{4}-[0-9]{2}-[0-9]{2})[^:]*:(.*)|:|'
... deve funcionar. Em detalhe:
-
-r
informa ao sed para usar expressões regulares estendidas . -
s|a(b)c(d)|:|
diz "correspondea
entãob
entãoc
entãod
e substitui a coisa toda porb:d
(o primeiro e o segundo itens entre parênteses, separados por:
", ondea
..d
são:a.
^.*/
- everything (.*
) desde o início da linha (^
) até o caractere/
(é por isso que usamos|
em vez de/
para separar as cláusulas da% comandos
).b.
[0-9]{4}-[0-9]{2}-[0-9]{2}
- um dígito ([0-9]
) quatro vezes ({4}
), seguido por um-
, seguido por um dígito duas vezes, etc.c.
[^:]*:
- qualquer coisa que não seja a:
([^:]*
), seguido por:
.d.
.*
- todo o resto.