Просмотр полной версии : Удаление дубликатов.
Всем привяу.Нужен скрипт для удаления повторяющихся строк вида string1:string2 из тхт файла.Спасибо.
Если файл небольшой, то:
<?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)
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;
Если по 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
Если файл небольшой, то:
<?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
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot