Substitua as datas formatadas de “Data / Hora do Mês” pelas datas formatadas “Data do Ano Mês” em vários arquivos

0

Eu tenho alguns arquivos em um diretório que contém datas formatadas como:

December 29 19:05:58

Mas eles diferem em relação à data em que o arquivo foi criado.

Existe alguma maneira de fazer uma substituição de pesquisa nesses arquivos para substituir as datas por aquelas semelhantes:

December 29 2010 19:05:58

Estou no Mac OS X.

EDIT: Para esclarecer, qualquer script seria bom, ou seja, sed ou shell / ruby scripts.

    
por Wuffers 09.01.2011 / 20:36

2 respostas

1

Não acho que seja possível sem um poderoso editor de texto ou algum script.

Use a seguinte expressão regular no TextMate:

Pesquisa:

(January|February|March|April|May|June|July|August|September|October|November|December) (\d{1,2}) (\d{2}:\d{2}:\d{2})

Substitua por:

$1 $2 2010 $2

Dependendo do número de arquivos, o script seria mais rápido. Eu optaria por um editor como o TextMate se não fosse muito trabalho - assim, você pode verificar cada substituição antes de salvar.

Por questões de integridade:

cat src.txt | sed "s/\([A-Z][a-z]\{1,\} [0-9]\{1,2\}\) \([0-9][0-9]:[0-9][0-9]:[0-9][0-9]\)/ 2010 /g" > dest.txt

As pessoas que usam sed regularmente podem rir agora, eu não ligo.

    
por 09.01.2011 / 20:44
1

Tente isso (para o OS X, substitua o -r por -E ):

sed -r 's/(January|February|March|April|May|June|July|August|September|October|November|December)( [0-9 ][0-9] )(([0-9][0-9]:){2}[0-9][0-9])/010 /'
    
por 09.01.2011 / 21:16