Показать сообщение отдельно

  #9  
Старый 18.11.2006, 17:47
genom--
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме:
1948091

Репутация: 1686


По умолчанию

вот скриптик на perl -- писал когдато --- запихиваешь все свои дампы в одну папку и запуускаешь с скрипт с параметром *.pl /имя_папки/
(ps если подправить регулярное выражение то будет выдирать и хэши)


#!/usr/bin/perl

if (@ARGV==0) { print "\n###########Genom Spam List Bilder v1.3##################\n\nUse: perl spam-bilder.pl /start_folder/\n"; exit;};

$asd=@ARGV[0];
$i=0;
$a=1;
@dir[0]=@ARGV[0];
opendir FF, $asd;
while ($zz=readdir FF) {
$aa=$zz=~m/\./;
if ($aa==0) {if ($asd=="/") {@dir[$i]="$asd$zz";$i++;}else{@dir[$i]="$asd/$zz";$i++;} }
closedir dir;}

papki(@dir[$a]);
for $qq (@dir){print "$qq\n"}; # убери в начале решетку если хочешь чтобы выводились найденные папки

##################рекурсивная функция которая забивает пути к папкам в массив @dir ##################
sub papki {
opendir FF,@dir[$a];
while ($zz=readdir FF) {
$aa=$zz=~m/\./;
if ($aa==0) {@dir[$i]="@dir[$a]/$zz";$i++;} };
closedir dir;$a=$a+1;

if ($a<$i) {papki(@dir[$a]);}
};@dir[$a];
###########################функция поиска файлов################

# получаем имена всех файлов в обнаруженных папках и заносим их в массив @file
# под категорию файлов подпадают объекты в именах которых есть точка--- так что некоторые папки может
# не обработать(то есть признает их файлами)- это связано с тем что пишу под виндой и параметры
# распознования файлов линукса -e и -f у меня почемуто не работают =( ---
$xy=0;

for $qqq (@dir){
opendir FF, $qqq;
while ($zz=readdir FF) {
if (length($zz)>2) {
$aa=$zz=~m/\./;
if ($aa==1) {@file[$xy]="$qqq/$zz";$xy++;} }
closedir dir;}
};
for $wer (@file){print "$wer\n"};# убери в начале решетку если хочешь чтобы выводились найденные
# файлы

######## функция выдирания из найденных фалов e-mail адресов

open mail,">new-mail.txt";

for $syka (@file){
open piska, "<$syka";
while ($zzaa=<piska>)
{if ($zzaa =~m/\b([\w\d]+\@[\w\d]+\.[\w\d\.]+)\b/g) { $list{"$1"}="";}}}



$,="\n";
print mail keys %list;
close mail;