Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: ‭lipman en 5 Mayo 2011, 20:54 pm



Título: [Shell Script] ¿Cómo unir lineas de distintos ficheros?
Publicado por: ‭lipman en 5 Mayo 2011, 20:54 pm
Mi situacion es la siguiente:

Tengo el fichero1 con el siguiente contenido por ejemplo
Código:
a
b
c
d
e
...
...
z

y el fichero2 con el siguiente
Código:
1
2
3
4
5
...
...
26

Lo que quiero hacer es generar un fichero que quede tal que así:
Código:
a:1
b:2
c:3
...
...
z:26

Alguna idea?


Título: Re: [Shell Script] ¿Cómo unir lineas de distintos ficheros?
Publicado por: aNT366 en 6 Mayo 2011, 19:41 pm
Sencillo.
Lee el 1º archivo desde un bucle For linea por linea, y en ese proceso intercalas otro for que solo lea la linea de la que se trate del 2º archivo, es decir necesitas un contador, los datos los ordenas en una variable a tu gusto, y esta la vas guardando en otro archivo.
Si un archivo es mas corto que otro, planteate si te interesa seguir cargando uno de los dos y...


Título: Re: [Shell Script] ¿Cómo unir lineas de distintos ficheros?
Publicado por: xassiz~ en 6 Mayo 2011, 22:07 pm
¿Te refieres a Bash?


Título: Re: [Shell Script] ¿Cómo unir lineas de distintos ficheros?
Publicado por: d00ze13 en 6 Mayo 2011, 23:40 pm
Te hice una version algo chapucera espero que te sirva xD

Código
  1. #!/bin/bash
  2. cont=1
  3. for i in `cat fichero1`
  4. do
  5.      var=`nl fichero2 | grep $cont | awk '{print $2}'`
  6.      echo $i":"$var
  7.      let cont=cont+1
  8. done
  9.