
Tengo la siguiente línea en un archivo, me gustaría insertar \N
entre 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'