Re: seleccionar lineas en un fichero de texto
On Thu, 19 Apr 2001, Miguel Rodríguez Penabad wrote:
> Hola a todos,
> tengo un(os) ficheros de texto para importar a una BD, y algunas de las
> lineas me dan problemas. Me gustaría poder imprimirlas o redirigirlas a
> un fichero para ver que demonios pasa con ellas, pero hasta ahora lo
> unico que mi neurona me ha dicho para seleccionar la linea L del fichero
> es
> head -L fichero | tail -1
Creo que es
head -n fichero | tail -1
> Y la verdad, con ficheros de 2 millones de filas, tarda un mundo.
> ¿A alguien se le ocurre alguna forma de seleccionar alguna fila por
> numero?
> He pensado en awk y controlar el NR, pero me da que va a ser lento
> igual...
>
> Gracias a todos
> Miguel
En un fichero de texto normalito con lineas de longitud variable
tendrás que leer todos los caracteres hasta encontrar la información
que buscas. Posicionarse en una determinada posición de un fichero
por número de caracteres es inmediato (función seek() de C) pero
si lo que quieres es posicionarte en una línea determinada tienes que
leer todos los caracteres hasta esa línea. Todo depende de la velocidad
de lectura del dispositivo donde esté almacenado. Podría venirte bien
usar un raid.
Si tienes que hacer varias veces eso con el mismo fichero contruyete
unos indices del tipo <línea> --> <posicion> cada cien líneas por ejemplo,
pero creo por lo que dices que no es tu caso.
Si alguna vez quieres usar un salto con seek desde un shell script usa
dd con la opción seek=bloques.
> --
> =========================================================================
> Miguel Rodriguez Penabad penabad@udc.es
> Laboratorio de Bases de Datos http://emilia.dc.fi.udc.es/labBD
> Facultade de Informática Universidade da Coruña (Spain)
> =========================================================================
>
>
> --
> Unsubscribe? mail -s unsubscribe debian-user-spanish-request@lists.debian.org < /dev/null
>
Un saludo
Antonio Castro
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/\ /\ Ciberdroide Informática (Tienda de Linux)
\\W// <<< http://www.ciberdroide.com >>>
_|0 0|_
+-oOOO--(___o___)--OOOo----------------------------------------------------+
| . . . . U U . . . . Antonio Castro Snurmacher acastro@ciberdroide.com |
| . . . . . . . . . . |
+()()()----------()()()----------------------------------------------------+
| *** 1.700 sitios clasificados por temas sobre Linux en ***Donde_Linux*** |
| <<< http://www.ciberdroide.com/misc/donde/dondelinux.html >>> |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Reply to: