¿Cómo puedo reemplazar una cadena en un archivo?

¿Cómo puedo reemplazar una cadena en un archivo?

Tengo la siguiente línea en un archivo, me gustaría insertar \Nentre dos comas

20121128020001,2012-11-28 02:00:01.000,,,,,,,3.80,,,,,

Intenté usar semilla

sed -i 's/,,/,\\N,/g' Test.CSV

Donde obtengo el siguiente resultado:

0121128020001,2012-11-28 02:00:01.000,\N,,\N,,\N,,3.80,\N,,\N,,

Podría ejecutarlo dos veces, pero en un archivo enorme es ineficiente. ¿Cómo puedo arreglar el comando sed?

Respuesta1

Utilice Perl con búsquedas anticipadas, de modo que la segunda coma no forme parte de la coincidencia:

perl -pe 's/,(?=,)/,\\N/g'

O utilice la misma expresión dos veces en la misma línea:

sed 's/,,/,\\N,/g;s/,,/,\\N,/g'

información relacionada