Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Удаление дубликатов. (https://forum.antichat.xyz/showthread.php?t=138778)

Велемир 01.09.2009 17:03

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

Tombik 01.09.2009 17:04

Text Duplicate Killer

d_x 01.09.2009 17:11

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

PHP код:

<?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

eLWAux 01.09.2009 18:47

delete_del.pl <имя файла>
на выходе получим: out_<имя файла>
PHP код:

#!/usr/bin/perl  -w
#use: .pl input.txt

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

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

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


Sharky 01.09.2009 19:30

Цитата:

Сообщение от aboutlook
Если по 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

Цитата:

Сообщение от d_x
Если файл небольшой, то:

PHP код:

<?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

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


Время: 17:08