Como posso substituir o Nth delimiter em um arquivo csv?

0

Eu tenho um arquivo csv separado por vírgula como uma amostra como:

1,92345,92345,Dear user, this is your amount , 2016-10-10 
2,92345,92345,Dear user, this is your amount , 2016-10-09

Eu preciso substituir 4 th comma , somente após o Dear user com um pipeline | .

    
por adnan noor 08.11.2017 / 11:38

1 resposta

2

Usando sed , você pode informar especificamente sed quais ocorrências de padrão você deseja substituir, portanto:

sed 's/,/|/4' infile

Ou com solução diferente seria:

sed -r 's/^([^,]*,)([^,]*,)([^,]*,)([^,]*),(.*)/|/' infile
    
por 08.11.2017 / 12:17