Ayuda con cat, grep, more o lo que sea (bash)
Alvaro Herrera
alvherre en dcc.uchile.cl
Mar Jun 1 19:37:06 CLT 2004
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)
Más información sobre la lista de distribución Linux