
cuando abro el archivo por vi
como
vi file
Current partition replica assignment
@
@
@
@
@
{"version":1,"partitions":[{"topic")]
@
@
@
@
@
Proposed partition reassignment configuration
pero trato de borrar esta línea vacía
como
sed -i 's/^ *//; s/ *$//; /^$/d; /^\s*$/d' file
o
sed -i '/^$/d' file
o
sed -i '/^$/d' file
El archivo todavía tiene líneas vacías.
¿Cómo eliminar las líneas vacías/en blanco?
Respuesta1
Esos sonnolíneas vacías, pero líneas que son demasiado largas para caber en la pantalla, incluso después de ajustarlas.
$ perl -e 'print "foo\n", "bar " x 4096' >/tmp/file
$ vim /tmp/file
foo
@
@
@
...
Esto es lo que elestándardice:
En modo visual, si una línea del búfer de edición (que no sea la línea actual) no encaja completamente en las líneas en la parte inferior de la pantalla que están disponibles para su presentación, el editor puede optar por no mostrar ninguna parte de la línea. . Las líneas de la pantalla que no contienen texto del búfer de edición por este motivo consistirán cada una en un único carácter '@'.
Consulte también la vim
documentación de 's sobre la display
opción:
Cuando no se incluyen "última línea" ni "truncar", la última línea que no encaja se reemplaza con líneas "@".
No los confunda con bytes nulos, que normalmente se muestran como ^@
(observe el signo de intercalación). Además, este comportamiento no es universal (no parece estar implementado en nvi
).
Respuesta2
A mí me funciona bien. Probablemente su archivo debería tener dos valores nulos...
Para ver:
vim -b file
Para convertir a Unix
dos2unix file
Respuesta3
Creo que son bytes nulos. cat -A file
los mostraría como^@
tr
puede manejar aquellos:
tr -d '\0' < file > file.new