file - recuperar - eliminar archivos definitivamente del disco duro
<0xEF, 0xBB, 0xBF> personaje que aparece en los archivos. ¿Cómo eliminarlos? (12)
Estoy haciendo la compresión de archivos JavaScript y el compresor se queja de que mis archivos tienen un carácter " 
en ellos.
¿Cómo puedo buscar estos personajes y eliminarlos?
El comando ''file'' muestra si la BOM está presente:
Por ejemplo: ''file myfile.xml'' muestra: "Documento XML 1.0, texto UTF-8 Unicode (con BOM), con líneas muy largas, con terminadores de línea CRLF"
dos2unix eliminará la lista de materiales.
En Sublime Text puede instalar el paquete Highlighter y luego personalizar la expresión regular en su configuración de usuario.
Aquí agregué /uFEFF
al final de la propiedad highlighter_regex
.
{
"highlighter_enabled": true,
"highlighter_regex": "(/t+ +)|( +/t+)|[/u2026/u2018/u2019/u201c/u201d/u2013/u2014/uFEFF]|[/t ]+$",
"highlighter_scope_name": "invalid",
"highlighter_max_file_size": 1048576,
"highlighter_delay": 3000
}
Para sobrescribir la configuración predeterminada del paquete, coloque el archivo aquí:
~ / .config / sublime-text-3 / Packages / User / highlighter.sublime-settings
Gracias por las respuestas anteriores, aquí hay una variante sed (1) por si acaso:
sed ''1s/^/xEF/xBB/xBF//''
Guarde el archivo sin la firma del código.
He usado vimgrep para esto
:vim "[/uFEFF]" *
también comando de búsqueda vim normal
/[/uFEFF]
La solución de @ tripleee no funcionó para mí. Pero cambiar el archivo de codificación a ASCII y nuevamente a UTF-8 hizo el truco :-)
Otro método para eliminar esos caracteres: usando Vim :
vim -b fileName
Ahora esos caracteres "ocultos" son visibles ( <feff>
) y se pueden eliminar.
Puedes eliminarlos fácilmente usando vim , estos son los pasos:
1) En su terminal, abra el archivo usando vim:
vim file_name
2) Eliminar todos los caracteres de la BOM :
:set nobomb
3) Guarde el archivo:
:wq
Usar cola puede ser más fácil:
tail --bytes=+4 filename > new_filename
En Unix / Linux:
sed ''s//xEF/xBB/xBF//'' < inputfile > outputfile
En MacOSX
sed $''s//xEF/xBB/xBF//'' < inputfile > outputfile
Observe el $ after sed para mac.
En Windows
Hay Super Sed una versión mejorada de sed. Para Windows, este es un .exe independiente, destinado a ejecutarse desde la línea de comandos.
perl -pi~ -CSD -e ''s/^/x{fffe}//'' file1.js path/to/file2.js
Asumiría que la herramienta se romperá si tiene otros utf-8 en sus archivos, pero si no, quizás esta solución alternativa puede ayudarlo. (No probado ...)
Editar : agregó la opción -CSD
, según el comentario de Tchrist.