
26.11.2008, 20:47
|
|
Участник форума
Регистрация: 24.11.2008
Сообщений: 205
Провел на форуме: 1123418
Репутация:
362
|
|
пара перл скриптов, использовались при спаме vконтактe.
Удаление повторяющихся строк
Код:
#!/usr/bin/perl -w
# Удаление повторяющихся строк
# by [dei]
############ Config #############
$file = 'acs.txt';
#############################
open(F1,"< $file");
@lines = <F1>;
close F1;
for($i=0;$i<@lines;$i++) {
for($i2=$i+1;$i2<@lines;$i2++) {
if($lines[$i] eq $lines[$i2]) { splice @lines, $i2, 1; }
}
}
open(F2,"> $file");
print F2 join('',@lines);
close F2;
Разбивка одного файла на равные мелкие файлы
Код:
#!/usr/bin/perl -w
# Разбивка файла на мелкие
# by [dei]
############ Config #############
$file = 'groups.txt';
$newname = 'groups.txt';#к имени прибавляется порядковый номер
$count = 10;
#############################
use POSIX qw(ceil);
open(FF,"< $file");
@lines = <FF>;
close FF;
$x = ceil(($#lines+1)/$count);
for($i=1;$i<=$count;$i++){
$newname =~ s/([0-9]*|)\.txt/$i\.txt/;
$f = F.$i;
open($f,"> $newname");
$n1 = $i * $x - $x;
if($i==$count) { $n2 = $#lines+1; }
else { $n2 = $i * $x; }
for($i2=$n1;$i2<$n2;$i2++) {
print $f $lines[$i2];
}
}
Последний раз редактировалось [dei]; 26.11.2008 в 21:10..
|
|
|