Войти

Показать полную графическую версию : [решено] удаление одинаковых ссылок


Alexander_88
07-04-2015, 13:08
Здравствуйте, подскажите, пожалуйста, как можно удалить ссылки из первого файла тхт, если они уже есть во втором файле тхт:

пример:

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

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
(diff (gc 1.txt) (gc 2.txt)).InputObject > r.txt

Alexander_88
07-04-2015, 13:36
спасибо, работает :)

Iska
07-04-2015, 15:47
Ещё один вариант:
<"Source.txt" >"Destination.txt" findstr.exe /i /v /g:"Filter.txt"

Alexander_88
07-04-2015, 16:47
Ещё один вариант:
Код:
<"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
а это где выполнять? »
В командной строке. В пакетном файле.

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

Alexander_88
07-04-2015, 17:52
попробовал, появилось черное окно, но оно не закрывается, создался файл Destination.txt, но он пустой

Georgio
07-04-2015, 18:15
Alexander_88, у Вас содержимое исходного файла не оканчивается переводом на новую строку, а в этом случае синтаксическая конструкция "file"<findstr... не подходит.

Вот так должно сработать: >"Destination.txt" findstr.exe /i /v /g:"2.txt" "1.txt" .

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

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




© OSzone.net 2001-2012