 |
|

01.09.2009, 17:03
|
|
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
С нами:
10470131
Репутация:
142
|
|
Удаление дубликатов.
Всем привяу.Нужен скрипт для удаления повторяющихся строк вида string1:string2 из тхт файла.Спасибо.
|
|
|

01.09.2009, 17:04
|
|
Banned
Регистрация: 21.12.2008
Сообщений: 413
С нами:
9151111
Репутация:
352
|
|
Text Duplicate Killer
|
|
|

01.09.2009, 17:11
|
|
Постоянный
Регистрация: 25.03.2008
Сообщений: 670
С нами:
9541766
Репутация:
2407
|
|
Если файл небольшой, то:
PHP код:
<?php
$filename='файл.txt';
$a=file($filename);
$f=fopen($filename,'w');
fputs($f,implode('',array_unique($a)));
fclose($f);
?>
|
|
|

01.09.2009, 17:39
|
|
Новичок
Регистрация: 21.08.2009
Сообщений: 11
С нами:
8801458
Репутация:
13
|
|
Если по unix в консоле
cat filename.txt | sort -u
|
|
|

01.09.2009, 17:42
|
|
Участник форума
Регистрация: 09.03.2009
Сообщений: 131
С нами:
9038853
Репутация:
77
|
|
|
|
|

01.09.2009, 18:47
|
|
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
С нами:
9423746
Репутация:
2399
|
|
delete_del.pl <имя файла>
на выходе получим: out_<имя файла>
PHP код:
#!/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;
|
|
|

01.09.2009, 19:30
|
|
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
С нами:
10541186
Репутация:
921
|
|
Сообщение от aboutlook
Если по unix в консоле
cat filename.txt | sort -u
или sort -u file.txt >>sorted.txt
|
|
|

01.09.2009, 19:52
|
|
Познавший АНТИЧАТ
Регистрация: 12.07.2008
Сообщений: 1,705
С нами:
9384806
Репутация:
1350
|
|
И для Windows докучи:
get-content text.txt | sort-object -unique | Out-File result.txt
|
|
|

01.09.2009, 19:53
|
|
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
С нами:
9454841
Репутация:
504
|
|
Сообщение от d_x
Если файл небольшой, то:
PHP код:
<?php
$filename='файл.txt';
$a=file($filename);
$f=fopen($filename,'w');
fputs($f,implode('',array_unique($a)));
fclose($f);
?>
а если файл большой? метров 300 наприимер или 700, и надо удалить все дубликаты?
|
|
|

01.09.2009, 19:55
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами:
9649706
Репутация:
3338
|
|
То это уже задание для РОА  И еще случайная строка в файле неопределенной длины.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|