PDA

Просмотр полной версии : Удаление дубликатов.


Велемир
01.09.2009, 17:03
Всем привяу.Нужен скрипт для удаления повторяющихся строк вида string1:string2 из тхт файла.Спасибо.

Tombik
01.09.2009, 17:04
Text Duplicate Killer

d_x
01.09.2009, 17:11
Если файл небольшой, то:


<?php
$filename='файл.txt';

$a=file($filename);
$f=fopen($filename,'w');
fputs($f,implode('',array_unique($a)));
fclose($f);
?>

aboutlook
01.09.2009, 17:39
Если по unix в консоле

cat filename.txt | sort -u

Flanker48
01.09.2009, 17:42
bvsDupDelet (http://vizbe.net.ru/bvsDupDelet.zip)

eLWAux
01.09.2009, 18:47
delete_del.pl <имя файла>
на выходе получим: out_<имя файла>
#!/usr/bin/perl -w
#use: .pl input.txt

$inputF = shift;
$ouputF = 'out_'.$inputF;

open (F , "<$inputF");
@input = <F>;
chomp (@input);
close F;
%out = ();
@input = grep(!$out{$_}++, @input);

open (F , ">>$ouputF");
print F join("\n",@input);
close F;

Sharky
01.09.2009, 19:30
Если по unix в консоле

cat filename.txt | sort -u

или sort -u file.txt >>sorted.txt

SpangeBoB
01.09.2009, 19:52
И для Windows докучи:
get-content text.txt | sort-object -unique | Out-File result.txt

gisTy
01.09.2009, 19:53
Если файл небольшой, то:


<?php
$filename='файл.txt';

$a=file($filename);
$f=fopen($filename,'w');
fputs($f,implode('',array_unique($a)));
fclose($f);
?>

а если файл большой? метров 300 наприимер или 700, и надо удалить все дубликаты?

Pashkela
01.09.2009, 19:55
То это уже задание для РОА:) И еще случайная строка в файле неопределенной длины.

geezer.code
01.09.2009, 19:57
И для Windows докучи:
get-content text.txt | sort-object -unique | Out-File result.txt
это какая такая винда так умеет? наверное та что с PowerShell ?
зы xp pro - sp2 не таких команд.

FireFenix
01.09.2009, 19:58
Win7 из повершелла умеет :D