Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Windows (http://forum.oszone.net/forumdisplay.php?f=7)
-   -   Автоматическое сравнение текстовых файлов (http://forum.oszone.net/showthread.php?t=217047)

Kzer-Za 03-10-2011 14:32 1764933

Автоматическое сравнение текстовых файлов
 
Добрый день всем!

Ситуация такова: есть два файла в формате plain text, в которых по несколько тысяч коротких строк. Назовем их, допустим, 1.txt и 2.txt. Мне нужно их сравнить и удалить из 1.txt все строки, которые есть в 2.txt.

WinMerge не подходит, потому что если строки в этих файлах идут в разном порядке, то он одинаковые строки подцвечивает как изменения – просто потому что они на разном месте. А дело как раз в том, что основное содержимое в файлах разное, поэтому те строки, которые все же совпадают, естественно идут в разных местах.

Т.е. мне нужно, чтобы программа брала строку из файла 2, делала поиск по всему тексту файла 1 и, если эта строка там встречается, удаляла ее. Вручную это делать с помощью поиска в Ворде слишком долго – там по несколько тысяч записей. Может, есть программа, которая позволяет так сделать? Или, может, кто-нибудь знает, как написать макрос для Ворда, который будет это выполнять?

RostVY 03-10-2011 15:56 1764981

загнать в базу данных и сделать что-то типа

delete from table1 where fld in (select distinct fld from table2);

select fld from table1;

Kzer-Za 03-10-2011 19:06 1765133

Я раньше с базами данных не работал, поэтому вы не могли бы объяснить конкретнее?

Iska 03-10-2011 20:11 1765171

Kzer-Za, попробуйте так:
Код:

findstr.exe /l /x /v /g:2.txt 1.txt >Result.txt

Kzer-Za 04-10-2011 11:50 1765520

Работает! Работает! :) Еще и встроенными средствами винды, ничего лишнего устанавливать не нужно! Iska, you are a lifesaver! :) Серьезно, спасибо, ты меня здорово выручил!


Время: 14:31.

Время: 14:31.
© OSzone.net 2001-