Ho due file come segue:Come trovare due abbinati ID in due file, e quindi utilizzare i loro valori per calcolare
FILE # 1
A 20.68
B 17.5
C 15.6
D 20.6
E 27.6
FILE # 2
C 16.7
X 2.9
E 7.0
A 15.2
La prima colonna è ID e la seconda colonna è il punteggio. Sto cercando di trovare gli ID corrispondenti in entrambi i file e quindi utilizzare i punteggi corrispondenti da FILE # 1 per calcolare il punteggio finale (Punteggio2 - Punteggio1) nel FILE # 2. Quello che segue è il risultato che voglio:
USCITA
C 1.1
E -20.6
A -5.48
Attraverso seguente codice, ho potuto ottenere abbinato ID, ma non ho idea di come chiamare i punteggi corrispondenti da FILE # 2 di fare calcoli in FILE # 2. Il tuo aiuto sarà molto apprezzato!
open my $A, 'list1.txt';
open my $B, 'list2.txt';
my $h;
map { chomp; $h{(split /\s+/)[0]} ++} <$A>;
while (<$B>) {
my @split = split(/\s+/,$_);
my $ID = $split[0];
my $score = $split[1];
print "$ID\t$score\n" if $h{$ID};
}
Grazie, Miler. Hash è molto utile. –