Mailinglist Archive: opensuse-es (1527 mails)

< Previous Next >
Re: [opensuse-es] Mostrar lineas de un fichero
  • From: "Carlos E. R." <robin.listas@xxxxxxxxxxxxxx>
  • Date: Fri, 7 Nov 2008 00:04:31 +0100 (CET)
  • Message-id: <alpine.LSU.2.00.0811062354230.19260@xxxxxxxxxxxxxxxx>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



El 2008-11-06 a las 22:49 +0100, Oscar Curero escribió:

Seguro que hay alguna pequeña utilidad para hacer lo que busco, pero soy
incapaz de encontrarlo.

Directamente no...

¿Sabéis cómo se pueden mostrar algunas lineas de un fichero (por ej: las
lineas 3,7,9 de un fichero de 50 lineas) en un shell script?

Una manera es combinando head y tail:

head --lines=5 lineas | tail --lines=1

o

tail --lines=6 lineas | head --lines=1


Eso saca la linea numero 5. Si quieres de la 5 a la 7:


tail --lines=6 lineas | head --lines=3

o de la 3 a la 5 (o sea, las 3 <=)

head --lines=5 lineas | tail --lines=3


Para lo que tu quieres:

head --lines=3 lineas | tail --lines=1 > salida
head --lines=7 lineas | tail --lines=1 >> salida
head --lines=9 lineas | tail --lines=1 >> salida


Si lo hago con un bucle pierde mucho tiempo. He probado con "sed", pero sólo
funciona si las lineas son contiguas.

Pues una a una y a un fichero, concatenando.

- -- Saludos
Carlos E.R.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkkTeAEACgkQtTMYHG2NR9W7VgCfd4k3aADR2L233DFk2R3AkaiD
ABEAn17iOfPGNs3D+yTVyvdWkEE6OaNJ
=JZpl
-----END PGP SIGNATURE-----
< Previous Next >
References