Insere um espaço antes da primeira vírgula em um arquivo csv

1

Eu tenho um arquivo CSV enorme que contém 100.000 linhas. No entanto, preciso fazer algum processamento e, para isso, preciso ter um único espaço antes da primeira vírgula. Meus dados atuais são algo como abaixo.

123456,5,4,3,2,1

Eu preciso de um espaço antes da primeira vírgula para algum processamento interno. Então, após a execução do comando, eu preciso que o arquivo seja como abaixo.

123456 ,5,4,3,2,1

Eu tentei o comando gawk para obter a primeira coluna sozinho usando $ 1. No entanto, $ 1 me dá a linha inteira. Existe outra maneira de fazer a tarefa acima?

    
por Ramesh 05.11.2013 / 06:24

1 resposta

4

Você pode fazer isso facilmente com sed usando sed 's/,/ ,/' .

$ sed 's/,/ ,/' <<< 123456,5,4,3,2,1
123456 ,5,4,3,2,1

Sem o modificador "g", sed só age na primeira correspondência em uma linha (com "g", ele age em todos eles).

    
por 05.11.2013 / 06:26