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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] удаление одинаковых ссылок (http://forum.oszone.net/showthread.php?t=298037)

Alexander_88 07-04-2015 13:08 2492661

удаление одинаковых ссылок
 
Здравствуйте, подскажите, пожалуйста, как можно удалить ссылки из первого файла тхт, если они уже есть во втором файле тхт:

пример:

в первом блокноте ссылки:

Код:

http://s5.depic.me/01435/07sv55ge07ui_o/0129swl_m.jpg
http://s5.depic.me/01435/m9fgc4zc0aub_o/0130swl_t.jpg
http://s5.depic.me/01435/cddclxav8syg_o/0130swl_m.jpg
http://s5.depic.me/01435/g4bol54sgci3_o/0131swl_m.jpg
http://s7.depic.me/01435/w9c1kgq8ht5m_o/0131swl_t.jpg
http://s5.depic.me/01435/y7pkiuinqxof_o/0132swl_m.jpg
http://s7.depic.me/01435/g0rhpr5qwkt0_o/0132swl_t.jpg
http://s7.depic.me/01435/bxe3mqeapav8_o/0133swl_t.jpg

во втором блокноте:

Код:

http://s5.depic.me/01435/g4bol54sgci3_o/0131swl_m.jpg
http://s7.depic.me/01435/w9c1kgq8ht5m_o/0131swl_t.jpg

после применения скрипта, первый блокнот должен измениться на:

Код:

http://s5.depic.me/01435/07sv55ge07ui_o/0129swl_m.jpg
http://s5.depic.me/01435/m9fgc4zc0aub_o/0130swl_t.jpg
http://s5.depic.me/01435/cddclxav8syg_o/0130swl_m.jpg
http://s5.depic.me/01435/y7pkiuinqxof_o/0132swl_m.jpg
http://s7.depic.me/01435/g0rhpr5qwkt0_o/0132swl_t.jpg
http://s7.depic.me/01435/bxe3mqeapav8_o/0133swl_t.jpg

т.е. пустых строк после удаления не должно остаться :)

Kazun 07-04-2015 13:15 2492667

Код:

(diff (gc 1.txt) (gc 2.txt)).InputObject > r.txt

Alexander_88 07-04-2015 13:36 2492676

спасибо, работает :)

Iska 07-04-2015 15:47 2492727

Ещё один вариант:
Код:

<"Source.txt" >"Destination.txt" findstr.exe /i /v /g:"Filter.txt"

Alexander_88 07-04-2015 16:47 2492751

Цитата:

Цитата Iska
Ещё один вариант:
Код:
<"Source.txt" >"Destination.txt" findstr.exe /i /v /g:"Filter.txt" »

а это где выполнять? в файл ps1 попробовал, не получилось, в бат попробовал вот так:

Код:

<"1.txt" >"2.txt" findstr.exe /i /v /g:"Filter.txt"
удалилось все из 2 ого блокнота

сейчас так сделал в бат

Код:

<"1.txt" >"2.txt" findstr.exe /i /v /g:"3.txt"
в 1txt ссылки, в 3тхт то, что должно отминусоваться, в 2тхт результат должен быть?

Iska 07-04-2015 17:07 2492763

Цитата:

Цитата Alexander_88
а это где выполнять? »

В командной строке. В пакетном файле.

Цитата:

Цитата Alexander_88
в бат попробовал вот так: »

Попробуйте вот так:
Код:

<"1.txt" >"Destination.txt" findstr.exe /i /v /g:"2.txt"
«1.txt» — Ваш исходный файл. «2.txt» — файл с исключениями. «Destination.txt» — результат.

Alexander_88 07-04-2015 17:52 2492784

попробовал, появилось черное окно, но оно не закрывается, создался файл Destination.txt, но он пустой

Georgio 07-04-2015 18:15 2492788

Alexander_88, у Вас содержимое исходного файла не оканчивается переводом на новую строку, а в этом случае синтаксическая конструкция
Код:

"file"<findstr...
не подходит.

Вот так должно сработать:
Код:

>"Destination.txt" findstr.exe /i /v /g:"2.txt" "1.txt"
.

Alexander_88 07-04-2015 18:36 2492798

Iska Работает, спасибо, точно из - за отсутствия пустой строки, на самом деле она у меня есть в исходниках, просто я для них уже взял 1ое решение, а для второго решения просто решил протестировать, быстро создал два блокнота, накидал ссылок, а пустую строку не поставил в конце, не знал, что из - за нее может не работать
Georgio Ваше решение тоже работает, спасибо.

Теперь у меня будет 3 решения на всякий пожарный :)


Время: 21:39.

Время: 21:39.
© OSzone.net 2001-