Tengo archivos muy grandes (más de 10 Gb). Solo necesito algunas líneas desde la parte superior del archivo. ¿Es posible (en vim) eliminar el resto del archivo (desde la línea actual hasta el final del archivo)?
Tengo archivos muy grandes (más de 10 Gb). Solo necesito algunas líneas desde la parte superior del archivo. ¿Es posible (en vim) eliminar el resto del archivo (desde la línea actual hasta el final del archivo)?
Respuestas:
dG se eliminará de la línea actual al final del archivo
dCtrl+ Endse eliminará del cursor al final del archivo
Pero si este archivo es tan grande como usted dice, es mejor que lea las primeras líneas en head
lugar de editar y guardar el archivo.
head hugefile > firstlines
(Si está en Windows, puede usar el puerto Win32 de head
)
head
suministra con, por ejemplo, head -n20 hugefile
para las primeras 20 líneas. n por defecto es 10.
head
? Usar dG en un archivo grande (1G +) lleva mucho tiempo (por ejemplo, 5 minutos).
dgg
se eliminará de la línea actual al inicio del archivo.
Vaya a la primera línea de la que desea eliminar y presione las teclas. dG
:.,$d
Esto eliminará todo el contenido de la línea actual al final del archivo. Esto es muy útil cuando se trata de generar o eliminar vectores de prueba.
:<line number>,$d
por ejemplo: :3,$d
borrará de la línea 3 al final del archivo
head -n <number_of_lines> <filename> > <truncated_filename>
¿Dónde-n
está el parámetro para la cantidad de líneas que deseas desde la parte superior?