Adicionando dois pontos à coluna de tempo em uma tabela

1

Eu tenho uma tabela como esta:

"Date","Time","Open","High","Low","Close","Volume"
06/28/2004,0931,37.49,37.50,37.45,37.46,1049200
06/28/2004,0932,37.48,37.50,37.45,37.48,450700
06/28/2004,0933,37.48,37.50,37.46,37.49,493700
06/28/2004,0934,37.49,37.50,37.47,37.47,756100
06/28/2004,0935,37.48,37.49,37.46,37.48,309000

Infelizmente, a coluna de hora apenas informa números e falta de : entre os pares de números. Como posso corrigir isso para que o tempo na tabela seja corretamente visualizado assim:

"Date","Time","Open","High","Low","Close","Volume"
06/28/2004,09:31,37.49,37.50,37.45,37.46,1049200
06/28/2004,09:32,37.48,37.50,37.45,37.48,450700
06/28/2004,09:33,37.48,37.50,37.46,37.49,493700
06/28/2004,09:34,37.49,37.50,37.47,37.47,756100
06/28/2004,09:35,37.48,37.49,37.46,37.48,309000
    
por Jeff Schaller 10.10.2018 / 11:21

1 resposta

1

awk -vFS="" -vOFS="" 'NR>1 {$13=$13":"}1' file

"Date","Time","Open","High","Low","Close","Volume"
06/28/2004,09:31,37.49,37.50,37.45,37.46,1049200
06/28/2004,09:32,37.48,37.50,37.45,37.48,450700
06/28/2004,09:33,37.48,37.50,37.46,37.49,493700
06/28/2004,09:34,37.49,37.50,37.47,37.47,756100
06/28/2004,09:35,37.48,37.49,37.46,37.48,309000

-vFS="" -vOFS="" define os separadores de campo de entrada e saída como não.

NR>1 para evitar alterações na primeira linha, o que significa que as alterações serão aplicadas a partir da linha 2

{$13=$13":"} irá inserir dois pontos após a string 13

    
por 10.10.2018 / 11:23