Como anexar caractere ao final da linha usando o SED? [duplicado]

0

Eu tenho o seguinte texto:

serverName: NZRC222
total: 8.46 GB
serverId: 259695

serverName: NZRC333
total: 50.13 TB
serverId: 260582

serverName: NZRC555
total: 9.31 TB
serverId: 260956

Meu resultado desejado seria:

serverName: NZRC222,
total: 8.46 GB,
serverId: 259695,

serverName: NZRC333,
total: 50.13 TB,
serverId: 260582,

serverName: NZRC555,
total: 9.31 TB,
serverId: 260956,

Basicamente, quero gerar um arquivo csv que pode ser importado para o Excel.

Quando eu vou com: sed '/\w.*/ a ,' file eu recebo isto:

serverName: NZRC222
,
total: 50.13 TB
,
serverId: 260582
,

serverName: NZRC333
,
total: 9.31 TB
,
serverId: 260956
,

Alguma sugestão? Obrigado antecipadamente!

    
por fugitive 04.04.2017 / 19:40

2 respostas

3

Você pode substituir linhas não vazias pela linha e vírgula:

sed 's/.\+/&,/'

ou

sed -E 's/.+/&,/'

& significa o texto correspondente, que é toda a linha aqui.

    
por 04.04.2017 / 19:44
2

com sed :

sed '/./ s/$/,/' file
    
por 04.04.2017 / 20:41