2FeoЩту в твоем скрипте если я не ошибаюсь дубли вместе с оригиналами удалятся) а их нада оставить)
$arr Это походу массив мыл?)
вот что получилось))
<?php
$file_ar=file('c:\1.txt');
foreach($file_ar as $r){
preg_match("/([[:alnum:]]|[[

unct:]]){1,}@(.*)\.[[:alnum:]]{2,3}/",$r,$o);
$email_ar[]= $o[0];
}
$email_ar=array_unique($email_ar);
$arr = array();
for($i=0;$i<count($file_ar);$i++) {
preg_match("/([[:alnum:]]|[[

unct:]]){1,}@(.*)\.[[:alnum:]]{2,3}/",$file_ar[$i],$o);
$email1= $o[0];
if((in_array($email1,$email_ar)) and (!in_array($email1,$arr))) {
$arr[]=$email1;
echo $file_ar[$i].'<br>';
}}
?>