Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Tengo un archivo (tabulado) de varios gigabytes y otro no tan grande. Quiero comparar "string" que están en las columnas 2 de cada uno de ellos, y si es positivo, imprimir las columnas 1,2,3 del archivo primero y las columnas 1,2,3 del archivo segundo.
Dejo el código que tengo desarrollado para ver si me ayudan en su elaboración.
Gracias de antemano.
Using perl Syntax Highlighting
- #! /usr/bin/env perl
- use warnings;
- use strict;
- my %hash;
- my @arr1;
- my @arr;
- my $uniprot;
- my $arr;
- my @allhit;
- open( FH, "<archivo1.txt" );
- open( OUTPUT, ">Annot_cDNA_Uniprot_GOA.txt" );
- while (<FH>) {
- my @arr = split( "\t", $_ );
- $hash{GOA} = $arr[1];
- #print $hash{GOA};
- }
- close(FH);
- open( FH1, "<archivo2.txt" );
- while (<FH1>) {
- my @arr = split( "\t", $_ );
- $uniprot = $arr[1];
- if ( exists( $hash{GOA} ) ) {
- push( @allhit, $arr[1], $arr[3], $arr[7] );
- #my $allhit = join("\t", $hash{GOA}[1], @arr);
- print OUTPUT @allhit;
- }
- else { next; }
- }
- close(FH1);
Coloreado en 0.006 segundos, usando GeSHi 1.0.8.4