PDA

Просмотр полной версии : Программа для работы с текстом - с акками


kowkin
14.11.2009, 16:50
Приветствую! :)

Вот такая у меня незадача:

Имеется 2 файла.

Пример 1 файла:

1@1.ru
2@2.ru
3@3.ru
4@4.ru
5@5.ru


Пример 2 файла:

3@3.ru
1@1.ru
5@5.ru


Мне нужно удалить из 1 файла, то, что есть во 2 файле (то, что осталось несовпадающим).

То есть мне нужно получить следующий текст:

2@2.ru
4@4.ru


С помощью какой программы можно это реализовать? Подскажите...

SimBa
14.11.2009, 16:59
use warnings;

open(F, '<1.txt') || die $!;
chomp(@list1 = <F>);
close F;

open(F, '<2.txt') || die $!;
chomp(@list2 = <F>);
close F;

$list{$_} = 1 for @list1;
delete $list{$_} for @list2;

open(F, '>>3.txt') || die $!;
print F $_.$/ for keys %list;
close F;


код на перле, написал Kaimi

ettee
14.11.2009, 17:26
sort 1.txt 2.txt | uniq -u

m0Hze
14.11.2009, 23:13
sort 1.txt 2.txt | uniq -u
Еще как вариант,склеить в один файл copy,а затем убрать повторы,заисав их в файл - результат получен.

flooderator
14.11.2009, 23:24
Text Duplicate Killer (http://www.softforfree.com/programs/text_duplicate_killer-11932.html)

gormoney
01.12.2009, 22:16
Text Duplicate Killer (http://www.softforfree.com/programs/text_duplicate_killer-11932.html)
Что-то оттуда качает у меня по 2 кб\сек :bad:
Если есть у тебя прога залей на другой обменик пожалуйста.