Salve a tutti,
vorrei creare uno scriptino che faccia un confronto tra il contenuto di 2 files di testo di questo tipo:
FILE 1:
aaaa bbbb cccc dddd eeee
1111 2222 3333 4444 5555
xxxx xxxx xxxx xxxx xxxx
FILE2:
aaaa
yyyy
wwww
Il confronto deve funzionare in questo modo:
-verificare se in una qualsiasi riga del file 2 c'è qualche elemento che corrisponde ad un elemento di una qualsiasi riga del file 1 ed in caso affermativo riporta il contenuto (intero) della riga dove è avvenuta la corrispondenza del file 1 in un terzo fle di testo.
Ho provato ad utizzare due cicli foreach annidati ottenendo il risultato voluto:
open (TESTO1, "testo1.txt")||die "impossibile aprire testo1.txt:$!\n";
open (TESTO2, "testo2.txt")||die "impossibile aprire testo2.txt:$!\n";
open (TESTO_DEF, ">>testo_output.txt");
@testo_confronto1=<TESTO1>;
@testo_confronto2=<TESTO2>;
close (TESTO1);
close (TESTO2);
foreach $linea(@testo_confronto1){
foreach $line(@testo_confronto2){
if ($linea=~m/$line/g){
print TESTO_DEF "$line";
}
else{
print "escluso:$linea\n";
}
}
}
close (TESTO_DEF);
Mi chiedevo però se esiste una tecnica migliore per ottenere lo stesso risultato.
Grazie 1000!
zeno