![]() |
Батник для сравнения 2-х текстовых файлов по строчно.
Всем привет!
Нужен батник для сравнения 2-х текстовых файлов по строчно и вывод различий в отдельный файл. Например: Есть 2 текстовых файла (1.txt , 2.txt) 1.txt: CLIENT=1 LIMIT=100 CLIENT=2 LIMIT=200 CLIENT=3 LIMIT=300 2.txt: CLIENT=1 LIMIT=100 CLIENT=2 LIMIT=250 CLIENT=3 LIMIT=350 Нужно прочитать эти 2 файла, найти изменения и создать файл 3.txt Который выглядел бы так: 3.txt: CLIENT=2 LIMIT=250 CLIENT=3 LIMIT=350 И как быть в тех случаях когда строчки могут быть смещены: 1.txt: CLIENT=1 LIMIT=100 CLIENT=10 LIMIT=500 CLIENT=2 LIMIT=200 CLIENT=3 LIMIT=300 2.txt: CLIENT=1 LIMIT=100 CLIENT=2 LIMIT=250 CLIENT=3 LIMIT=350 CLIENT=10 LIMIT=500 Ведь результат должен получиться тотже: 3.txt: CLIENT=2 LIMIT=250 CLIENT=3 LIMIT=350 PS. Есть конечно программа DiffText , она сравнивает два файла и выделяет отличия, но хотелось автоматизировать процесс )) Пробовал fc но она выдает немного не тот результат, который хотелось бы получить... |
Код:
1>3.txt findstr /v /g:1.txt 2.txt |
Цитата:
Но, столкнулся вот с какой проблемой, подложил боевой файл и получил ошибку FINDSTR: Слишком длинная строка поиска. Стал экспериментировать и получается что если строка длиннее 127 символов возникает ошибка. Возможно както обойти это ограничение? |
Никогда не доводилось работать с такими длинными строками с помощью findstr.exe
Попробуйте с помощью PowerShell: Код:
compare-object $(gc 1.txt) $(gc 2.txt) | % { Код:
1>3.txt grep -vUf 1.txt 2.txt |
Время: 19:05. |
Время: 19:05.
© OSzone.net 2001-