como posso corresponder colunas diferentes de dois arquivos tabulares diferentes

0

Eu preciso combinar colunas diferentes de dois arquivos tabulares diferentes e imprimir as duplicatas e linhas exclusivas, quer dizer, se no arquivo 1 a coluna 3 for igual à coluna 2 do arquivo 2, imprima linha de dois arquivos, mas se não for igual , linha de impressão que existe em qualquer arquivo e completa com um caractere "-" colunas vazias do arquivo quando não existe o teste de coluna

ARQUIVO 1

col[0] col[1] col[2] col[3] col[4]

4   2   0   gamete generation    Diferencial
6   8   4   metabolism
2   2   0   fertilization

FILE2

col2[0] col2[1] col2[2] col2[3]

0   0   1   gamete generation
4   2   0   biosinthesis
11  5   1   fertilization 

OUTPUT

col[0] col[1] col[2] col[3] col[4] 

4 2 0 0 0 1  gamete generation  Diferencial 

6 8 4  -  -  - metabolism

--  -4 2 0  biosinthesis

2 2 0 11 5  fertilization 



#!/usr/bin/perl -w                              
open(FILE1,$ARGV[0]);
open(FILE2,$ARGV[1]);
my @tabla=<FILE1>;
my @tabla2=<FILE2>;
chomp @tabla;
chomp @tabla2;
close FILE1;
close FILE2;  

foreach $x(@tabla){
        my @col=split(/\t/, $x);

        foreach $y(@tabla2){
                my @col2=split(/\t/, $y);

if ($col[3] eq $col2[3]){
print "$col[3] \t$col[0]\t$col[1]\t$col[2]\t $col2[0]\t$col2[1]\t$col2[2]  \n";

} 
} 
} 
    
por Anahí Canedo 13.10.2017 / 20:11

0 respostas

Tags