У меня есть 2 файла, скажем, file1 и file2.
file1.txt
RAC1 GK1 111
RAC2 GK2 222
RAC1 GK3 333
RAC1 GK4 222
RAC2 GK5 111
file2.txt
R1,PAAE,222,TESTA,COLA,NO
R2,RWWG,111,TESTB,COLM,YES
R3,TDAS,444,TESTC,COLZ,NO
Я сравниваю 2 файла и пытаюсьизвлечь данные из них. Условие здесь состоит в том, что если значение Column3 для file1 совпадает со значением Column3 для file2, выведите следующий вывод -
RAC1,GK1,111,R2,RWWG,TESTB,COLM,YES
RAC2,GK5,111,R2,RWWG,TESTB,COLM,YES
RAC2,GK2,222,R1,PAAE,TESTA,COLA,NO
RAC1,GK4,222,R1,PAAE,TESTA,COLA,NO
Я написал сценарий для этого, взяв значение file1 column2 в качестве ключа. Но это значение столбца не существует в file2. Так что сравнение не работает.
Даже я не могу взять столбец 3 (из файла 1) в качестве ключа, поскольку он имеет дублированные значения.
Код ниже -
my %hash1 = ();
open(FH1, "file1.txt");
while(<FH1>){
chomp($_);
my @val = split(' ', $_);
$hash1{$val[1]}{'RAC_VAL'} = $val[0];
$hash1{$val[1]}{'ID'} = $val[2];
}
#print Dumper(\%hash1);
open(FH2, "file2.txt");
while(<FH2>){
chomp($_);
my @array = split(',', $_);
print "$hash1{$array[2]}{'RAC_VAL'},,$hash1{$array[2]}{'ID'},$array[0],$array[1],$array[3],$array[4],$array[5]\n" if(exists $hash1{$array[2]}{'ID'});
}
Пожалуйста, помогите мне получитьвывод для вышеуказанных файлов данных на основе вышеуказанного условия.