Я пытаюсь создать командный файл, который будет редактировать текстовый файл, чтобы удалить строки, содержащие определенную строку , а удалить строку сразу после этого.Пример этого файла будет выглядеть следующим образом:
LINE ENTRY KEEP_1 BLA BLA
END
LINE ENTRY REMOVE_1 FOO BAR
END
LINE ENTRY REMOVE_2 HELLO WORLD
END
LINE ENTRY KEEP_2 CAT DOG
END
После запуска пакетного скрипта мне требуется, чтобы новый файл содержал
LINE ENTRY KEEP_1 BLA BLA
END
LINE ENTRY KEEP_2 CAT DOG
END
, где была удалена любая строка, содержащая REMOVE_а также соответствующая строка 'END'.
Я пытался использовать найденную технику здесь , чтобы удалить строки, содержащие строку, но оказалось невозможным включить такие символы, как \r \ n, чтобы проверить и включить «END» в поиск.Я не могу сделать это как две отдельные команды FINDSTR, так как мне все еще требуется сохранить текст «END» для двух других записей.Использование findstr /v REMOVE_
оставляет мне следующее:
LINE ENTRY KEEP_1 BLA BLA
END
END
END
LINE ENTRY KEEP_2 CAT DOG
END
, а использование findstr /v "REMOVE_*\r\nEnd"
, похоже, не работает вообще.Просто чтобы подтвердить, что каждая строка определенно заканчивается на \r\n
.
Любая помощь по этому вопросу будет принята с благодарностью.