Sed - Formatando campos de datas

Perguntinha postada no grupo sed-br no yahoo:

Pessoal,
Tenho um arquivo com formato de data que esta da seguinte maneira

2009-09-29
20090813
20070715
2008-09-15

e quero que ele tenha os hifens "-" onde nao tem, pra sair com a seguinte
formataçao:

2009-09-29
2009-08-13
2007-07-15
2008-09-15


Agradeço desde ja,
Moroni Vieira


My solution:

sed -i.backup -r 's/(^[0-9]{4})-?([0-9]{2})-?([0-9]{2})$/\1-\2-\3/g' file

Os díditos são agrupados entre parênteses para poder-mos usar os retrovisores, ou back reference \1 \2 \3, já os hifens são opcionais por conta da
interrogação. OBS: Para não ter que usar um monte de escapes "\" use a opção '-r' do
sed.

Nenhum comentário:

Postar um comentário

Insira seu comentário - O mesmo será submetido à aprovação!

linux-cookbook

Grupos do Google
Participe do grupo linux-cookbook
E-mail:
Visitar este grupo