Tengo un archivo muy grande que tiene espacios de ancho cero dispersos por todas partes. Se tarda demasiado en abrir y editar usando, vipor lo que me gustaría eliminar todas las instancias del personaje usando sed. ¡El problema es que no puedo encontrar la manera de unir al personaje! He intentado usar \u200B, \x{200b}. ¿Algunas ideas?
Estoy ejecutando CentOS 5 si eso ayuda en absoluto.

Respuestas:
Esto parece funcionar para mí:
Demostración:
Editar:
Basado parcialmente en la respuesta de Gilles:
fuente
\xe2\x80\x8b) al mirar algunas cadenas de muestra en Python. ¡Gracias!El comportamiento de GNU sed con UTF-8 no parece estar muy bien definido. Experimentalmente, puede hacer que reemplace los bytes de la representación UTF-8:
Alternativamente, puede escribir el carácter en su shell y usar cualquiera de los comandos estándar en un entorno local UTF-8:
En zsh, también puede ingresar el carácter a través de una secuencia de escape:
fuente
echo -e,printflas cadenas de formato y ANSI citan cadenas (por ejemploecho -e '\u1E4F',printf '\u01DD %s\n' 'X',mkdir $'\u0250)Bueno, a menos que alguien tenga alguna idea de cómo
sedhacer esto (que todavía me interesa, por cierto), es Python al rescate ...fuente
perl -C -pe 's/\x{200B}//g'?perl -C -pi.bak -e 's/\x{200B}//g' yourfileresultados en su archivo fijo y una copia de seguridad en yourfile.bak