Necesito limpiar un CSV muy grande, que ha escapado por error de las comillas dobles ( \\"
en lugar de \"
). ¿Cómo puedo reemplazar todas las instancias de
\\"
\\\"
\\\\"
.....
¿ Con \"
o solo espacio?
Como lo hice, \
hice esta pregunta para evitar aumentar el desorden.
Respuesta1
Esto debería ser suficiente:
sed 's/\\\\*"/\\"/'
Esto reemplaza una barra invertida ( \\
) seguida de cualquier número de barras invertidas ( \\*
) y una comilla doble ( "
), por una barra invertida seguida de una comilla doble ( \\"
). Utilice sed 's/\\\\*"/\\"/g
' para reemplazar todas las apariciones en una línea.
Respuesta2
Una alternativa si admite sed
la -E
opción de expresiones regulares extendidas (esto no cuenta el número de barras invertidas):
sed -E 's/[\]+"/\\"/g' file