inserir vírgula após a última letra

0

Eu uso um arquivo txt e preciso convertê-lo no arquivo csv

Saint Petersburg      0     10    0.1   -   N
Moscow                -     9       0   -   N
Novgorod              0     7       1   30  Y

No bash, como posso inserir vírgula após a última letra e depois de cada número ou "-"

Por exemplo

Saint Petersburg,      0,     10,    0.1,   -,  N
Moscow,                -,     9,       0,   -,  N
Novgorod,              0,     7,       1,   30, Y

Melhor

    
por Enric Agud Pique 10.11.2014 / 18:50

1 resposta

2

Isso substituirá seqüências de 2 ou mais espaços por um comando e os mesmos espaços menos um:

sed 's/ \( \+\)/,/g' file.txt

Ele falhará se houver apenas um espaço entre as colunas.

Se você quiser apenas ", " como o separador de campo:

sed 's/ \{2,\}/, /g' file
    
por 10.11.2014 / 19:03