Como posso reformatar uma string de tempo em vários arquivos?

0

Eu tenho arquivos com as seguintes linhas

15.07.2015 12:24:47; +107.117 ; +106.925 ; +17.179 ; +102.099 ; +16.151

O primeiro é o registro de data e hora em um formato não padrão, como posso substituí-lo para ter o seguinte formato

2015-07-15 12:24:47; +107.117 ; +106.925 ; +17.179 ; +102.099 ; +16.151
    
por OHLÁLÁ 10.09.2015 / 09:52

2 respostas

2

Você poderia usar o SED com um padrão apropriado ao longo das linhas de s#([0-9]{2})\.([0-9]{2})\.([0-9]{4})#--#
Isso poderia ser mais robusto, combinando o início da âncora de linha também, se necessário.

    
por 10.09.2015 / 10:20
1

Aqui está outra maneira de usar um liner Perl ...

$ perl -i -ne 's/^(\d{2})\.(\d{2})\.(\d{4})/$3-$2-$1/; print' in.txt
$ cat in.txt    
2015-07-15 12:24:47; +107.117 ; +106.925 ; +17.179 ; +102.099 ; +16.151
    
por 10.09.2015 / 15:57