
21.03.2007, 16:16
|
|
Участник форума
Регистрация: 05.09.2006
Сообщений: 184
Провел на форуме: 888851
Репутация:
203
|
|
Теперь увлекся перлом. Все делается намного проще:
Dump'er:
Код:
#!/usr/bin/perl -w
if ($ARGV[0] eq "") {print "Example: perl dump.pl Clients.sql"; exit;}
open (f1,$ARGV[0]) || die $!;
open (f2,">log") ||die $!;
if ($ARGV[1] eq "") {
$s=<f1>;
$s=~s/\'//g;
@temp=split(",",$s);
for ($i=0;$i<$#temp;$i++){
print "$i-$temp[$i]\n"; } #for
print "\nExample: perl dump.pl Clients.sql 4-6-15-20";
exit;
} #if
@temp = split("-",$ARGV[1]);
while (<f1>) {s/\'//g; #s/\s\'//g;
(@temp2)=(split(",",$_))[@temp];
print f2 join(":",@temp2). "\n";
} #while
close(f1);
close(f2);
Запускаем: " perl dump.pl Clients.sql 4-6-15-20"
Clients.sql - имя сортируемого файла, 4-6-15-20 номера колонок через "-" (узнать можно запустив только " perl dump.pl Clients.sql ").
Сортировка файла с удалением повторяющихся элементов:
Код:
#!/usr/bin/perl -w
if ($ARGV[0] eq "") {print 'sort.pl filename'; exit;}
open (f1,$ARGV[0]) || die $!;
open (f3,">sorted") ||die $!;
%seen=();
@uniq=grep {! $seen{$_} ++ } <f1>;
print f3 sort @uniq;
close(f1);
close(f3);
Запускаем: " sort.pl filename"
Последний раз редактировалось flipper; 22.03.2007 в 22:22..
|
|
|