Вот, блин, народ, чего вы так любите изобретать велосипеды?
PHP:
<?php
$file1 = file('1.txt');//файл с портами
$file2 = file('2.txt');//файл без портов
function tester($p1,$p2){
if (substr_count(trim($p1),trim($p2).':'))
{
return 0;
}
return $p1 > $p2?1:-1;//эта хрень нужна для правильной работы array_uintersect
}
file_put_contents('3.txt',implode("",array_uintersect($file1,$file2,'tester')));