Reemplazo de comillas escapadas incorrectamente con sed

Reemplazo de comillas escapadas incorrectamente con sed

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 sedla -Eopción de expresiones regulares extendidas (esto no cuenta el número de barras invertidas):

sed -E 's/[\]+"/\\"/g' file

información relacionada