🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
8 messages
8 total messages Started by Horaci Castellini Wed, 02 May 2007 11:06
pasar de una a dos columnas... como se hace?
#527
Author: Horaci Castellini
Date: Wed, 02 May 2007 11:06
30 lines
1484 bytes
Holas... me gustar�a saber como puedo hacer un script en bash o en otro 
lenguaje de "scripting" para hacer esto...

tengo dos archivos A1.dat y A2.dat en los cuales hay una serie de datos 
a una columna en cada uno de la misma longitud. Entonces quiero crear 
otro archivo A3.dat que tenga los datos de A1.dat en la columna 1 y 
A2.dat en la columna 2... es decir por ejemplo!!!

A1.dat

1
2
3
4

A2.dat

5
6
7
8

quiero llevarlos a

A3.dat
1 5
2 6
......

Saludos... Horacio.
Re: pasar de una a dos columnas... como se hace?
#528
Author: El Máquinas
Date: Wed, 02 May 2007 15:04
29 lines
1872 bytes
Hola:

En Bash no se pero en Perl sin mucho pensar podr�a ser algo as�:

#!/usr/bin/perl
use strict;

my $file1 = shift;
my $file2 = shift;

if (open (FHA,$file1)) {
   if (open (FHB, $file2)) {
     do {
       my $line1  = <FHA>;
       my $line2  = <FHB>;
       chomp($line1);	# Elimino el caracter \n de la l�nea
       chomp($line2);	
       print $line1."\t".$line2."\n";
     } until (eof(FHA) and eof(FHB));
     close(FHB);
   }
   close(FHA);
}

Lo guardas en un ficherito con permisos de ejecuci�n y lo llamas desde 
la shell pasando como primer operando el primer fichero, como segundo 
operando en segundo fichero, el resultado se muestra en la consola.

Saludos.
Re: pasar de una a dos columnas... como se hace?
#529
Author: El Máquinas
Date: Wed, 02 May 2007 15:05
29 lines
1853 bytes
Hola:

En Bash no se pero en Perl sin mucho pensar podr�a ser algo as�:

#!/usr/bin/perl
use strict;

my $file1 = shift;
my $file2 = shift;

if (open (FHA,$file1)) {
   if (open (FHB, $file2)) {
     do {
       my $line1  = <FHA>;
       my $line2  = <FHB>;
       chomp($line1);	# Elimino el caracter \n de la l�nea
       chomp($line2);	
       print $line1."\t".$line2."\n";
     } until (eof(FHA) and eof(FHB));
     close(FHB);
   }
   close(FHA);
}

Lo guardas en un ficherito con permisos de ejecuci�n y lo llamas desde 
la shell pasando como primer operando el primer fichero, como segundo 
operando en segundo fichero, el resultado se muestra en la consola.

Saludos.
Re: pasar de una a dos columnas... como se hace?
#530
Author: Pere Pujal i Carabantes
Date: Wed, 02 May 2007 16:45
29 lines
1921 bytes
Hola Horacio!

El 02-05-2007
Horacio Castellini va escriure en 
es.comp.os.linux.programacion:
 
> Holas... me gustar�a saber como puedo hacer un script en bash o en otro 
> lenguaje de "scripting" para hacer esto...

> tengo dos archivos A1.dat y A2.dat en los cuales hay una serie de datos 
> a una columna en cada uno de la misma longitud. Entonces quiero crear 
> otro archivo A3.dat que tenga los datos de A1.dat en la columna 1 y 
> A2.dat en la columna 2... es decir por ejemplo!!!

man paste

paste A1.dat A2.dat>A3.dat te separa los campos con tabuladores, si 
quieres otro separador, echale un ojo a la opcion -d


> Saludos... Horacio.

Salut
Pere
-- 
Mentjant spam a spc@fornol.no-ip.org
Comiendo spam en cannsp@fornol.no-ip.org
Je mange spam a spmc@fornol.no-ip.org
Eating spam at cspm@fornol.no-ip.org
Re: pasar de una a dos columnas... como se hace?
#531
Author: Santiago Calvo Ramos
Date: Wed, 02 May 2007 17:03
16 lines
1600 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

El Wed, 02 May 2007 08:06:09 -0300, Horaci Castellini <hcaste@fonosur.com.ar> escribio:
> tengo dos archivos A1.dat y A2.dat en los cuales hay una serie de datos 
> a una columna en cada uno de la misma longitud. Entonces quiero crear 
> otro archivo A3.dat que tenga los datos de A1.dat en la columna 1 y 

man paste
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFGOMRmItS1DsJychsRAtWGAJ9/cAvC2/Dpb/XOijPUGK1NssjgXQCgru+q
M7T6VgF7IFo17cWVgzLKaQQ=
=kue2
-----END PGP SIGNATURE-----
Re: pasar de una a dos columnas... como se hace?
#532
Author: El Máquinas
Date: Wed, 02 May 2007 17:51
15 lines
1771 bytes
�Dichoso paste!

Acostumbrado a escribir cualquier c�digo en Perl para lo que necesite 
nunca me acuerdo de la miriada de utilidades que traen los sistemas 
UNIX. Tendr� que desempolvar mi manual y volver a usar apropos :-)

Pere Pujal i Carabantes escribi�:
> 
> man paste
> 
> paste A1.dat A2.dat>A3.dat te separa los campos con tabuladores, si 
> quieres otro separador, echale un ojo a la opcion -d
> 
> Salut
> Pere
Re: pasar de una a dos columnas... como se hace?
#533
Author: Horaci Castellini
Date: Wed, 02 May 2007 17:53
32 lines
1992 bytes
El M�quinas wrote:
> Hola:
> 
> En Bash no se pero en Perl sin mucho pensar podr�a ser algo as�:
> 
> #!/usr/bin/perl
> use strict;
> 
> my $file1 = shift;
> my $file2 = shift;
> 
> if (open (FHA,$file1)) {
>   if (open (FHB, $file2)) {
>     do {
>       my $line1  = <FHA>;
>       my $line2  = <FHB>;
>       chomp($line1);    # Elimino el caracter \n de la l�nea
>       chomp($line2);   
>       print $line1."\t".$line2."\n";
>     } until (eof(FHA) and eof(FHB));
>     close(FHB);
>   }
>   close(FHA);
> }
> 
> Lo guardas en un ficherito con permisos de ejecuci�n y lo llamas desde 
> la shell pasando como primer operando el primer fichero, como segundo 
> operando en segundo fichero, el resultado se muestra en la consola.
> 
> Saludos.

Muchas gracias...
Re: pasar de una a dos columnas... como se hace?
#534
Author: Horaci Castellini
Date: Wed, 02 May 2007 17:54
27 lines
2031 bytes
Pere Pujal i Carabantes wrote:
> Hola Horacio!
> 
> El 02-05-2007
> Horacio Castellini va escriure en 
> es.comp.os.linux.programacion:
>  
>> Holas... me gustar�a saber como puedo hacer un script en bash o en otro 
>> lenguaje de "scripting" para hacer esto...
> 
>> tengo dos archivos A1.dat y A2.dat en los cuales hay una serie de datos 
>> a una columna en cada uno de la misma longitud. Entonces quiero crear 
>> otro archivo A3.dat que tenga los datos de A1.dat en la columna 1 y 
>> A2.dat en la columna 2... es decir por ejemplo!!!
> 
> man paste
> 
> paste A1.dat A2.dat>A3.dat te separa los campos con tabuladores, si 
> quieres otro separador, echale un ojo a la opcion -d
> 
> 
>> Saludos... Horacio.
> 
> Salut
> Pere

Desconoc�a este comando lo voy a probar...
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads