Necesito eliminar las primeras 42 líneas de un volcado SQL de 2GB.
Sé que puedo ver las primeras líneas usando:
head -n 44 dump.sql
Pero, ¿hay alguna forma de editarlos o eliminarlos?
command-line
Kohjah Breese
fuente
fuente
tail
. Encontré muchas veces algo nuevo que aprender de sus respuestas. Gracias.sed -i 1,50000000d 17GigFile
crea un archivo temporalsedXYZ
que consume muchos más gigabytes. ¿Hay un enfoque sin archivos temporales?tail -n +43
yhead -n 44
como se menciona en la pregunta?Esto parece ser lo más fácil:
Elimine las líneas 1-42 de test.sql y guárdelas como test2.sql
fuente
prueba esto,
tail -n +43 dump.sql > dump_new.sql
fuente
Puede usar Vim en modo Ex:
1
pasar a la primera línea42
seleccione 42 líneasd
Eliminarx
guardar y cerrarfuente
Lo siento, no puedo darte el código actual en este momento. Sin embargo, intente mirar algo en la línea de
Lo que esto debería hacer (una vez formateado correctamente) es contar el número de líneas en el archivo (wc -l), restar 44 de él (-44) y luego imprimir todo comenzando con la línea 45 del archivo.
Espero que esto ayude y buena suerte.
fuente
wc -l
en el archivo, que lo procesa dos veces, mientras quesed
otail
procesar una sola vez.Prueba esto,
o,
fuente
Solo para agregar esto. Si está en una Mac, debe agregar la extensión de copia de seguridad. Respuesta de esta publicación .
fuente
Debido a las
sed
discrepancias entre Linux y Mac, decidí usar eltail -n +43 dump.sql > dump.sql
formato.fuente