miércoles, 14 de junio de 2017

Cómo recortar las últimas líneas de grandes archivos.

Dos métodos:
Primero el método lento pero simple.
sed -i '<número_línea_desde_la_que_recortar>,$d <nombre_archivo>
Símplemente usando el comando "sed" para tomar las primeras líneas del archivo. Este método es lento porque ha de leer todo el archivo.

Segundo método; rápido pero complicado.
dd if=/dev/null of=<nombre_archivo> bs=1 seek=$(echo $stat --format=%s <nombre_archivo>) - $(tail -n<número de líneas a recortar> <nombre_archivo>| wc -c) | bc)
En este caso se recorta las últimas líneas por medio de escribir en ese punto un código de final de archivo. Es complicado porque lo que hacemos es medir el tamaño del archivo y restar el tamaño del trozo que queremos recortar, pero al mismo tiempo es rápido ya que no modificamos el archivo por completo, solo ponemos un indicador en el lugar adecuado.

No hay comentarios:

Publicar un comentario