Как Удалить все строки с указанными значениями через bat скрипт(многопоточный)?
Задача такая. Есть список доменов, которые не нужны и выписаны в список. Так же есть большое колво строк , к примеру 1млн. необходимо удалить все домены указанные в списке выше из общего списка.
К примеру необходимо удалить строки где есть слова:
dom.com
@google.com
@hello.com
и есть список общей базы.
khdfbsfehbskd@ksdfsbd.com
ieixk@poooo.com
suuu@google.com
wia@dom.com
После запуска скрипта должны быть удалены строки полностью, а не просто те символы которые совпадают по строкам. Получаем готовый список такой
khdfbsfehbskd@ksdfsbd.com
ieixk@poooo.com
у меня есть скрипт bat, но работает очень медленно. может тут кто то предложит многопоточный вариант? что бы это все происходило быстро, т.к. размеры обоих списков большие.
бат не лучший выбор для таких вещей, работает ужасно медленно и оптимизировать не выйдет.
Переходите на что-то другое. bash (точнее awk/grep/gnu tools), powershell или накидать скрипт на perl/python
Как таковой bat здесь нужен лишь для вызова утилиты findstr и перенаправления её вывода: findstr /v /g:strings.txt oldlist.txt>newlist.txt
(ну, ещё для удаления и переименования файлов).
Вы думаете, всё что Вы предложили, будет существенно быстрее?