On Tue, Jun 01, 2004 at 07:16:22PM -0400, Daniel Serpell wrote: > El Tue, Jun 01, 2004 at 06:39:11PM -0400, Alvaro Herrera escribio:
> dd if=<nombre_de_archivo> cbs=256 conv=block obs=256 | dd bs=256 cbs=256 > conv=unblock skip=<línea_a_seleccionar> count=1 > > El primer "dd" transforma el archivo a campos de largo fijo, > el segundo selecciona un campo. Cool trick. > Mediciones de tiempo, archivo de 25.5MB, 551325 líneas, extraer la > línea 550000, promedio de 4 corridas > > head/tail : 0.35 segundos > awk : 0.55 segundos > sed : 0.34 segundos > dd : 3.50 segundos Otra alternativa, aun mas rapida si sabes que la linea esta cerca del final, es usar wc -l para contar las lineas y luego tac | head | tail por ejemplo $ wc -l archivo 73633 archivo $ tac archivo | head -n 634 | tail -1 (para obtener la linea 73000). Midela con tu archivo de ejemplo a ver que tal ... -- Alvaro Herrera (<alvherre[a]dcc.uchile.cl>) "Estoy de acuerdo contigo en que la verdad absoluta no existe... El problema es que la mentira sí existe y tu estás mintiendo" (G. Lama)

