У меня есть файл ascii и там где-то есть строка:
НАЧАТЬ
и позже на линии:
END
Я бы хотел иметь возможность удалить эти две строки и все, что находится между ними, из вызова командной строки в Windows. Это должно быть полностью автоматизировано.
РЕДАКТИРОВАТЬ: См. sed в Vista - как удалить все символы между? для получения подробной информации о том, как использовать sed для этого (cygwin имеет sed).
РЕДАКТИРОВАТЬ: я обнаружил, что SED может работать, но когда я направить вывод в файл, возврат каретки были удалены. Как я могу сохранить это? Используя это регулярное выражение sed:
/ ^ GlobalSection (TeamFoundationVersionControl) = preSolution $ /, / ^ EndGlobalSection $ / {
/ ^ GlobalSection (TeamFoundationVersionControl) = preSolution $ /! {
/ ^ EndGlobalSection $ /! D
}
}
.. где начальный раздел - «GlobalSection (TeamFoundationVersionControl) = preSolution», а конечный раздел - «EndGlobalSection». Я также хотел бы удалить эти строки.
РЕДАКТИРОВАТЬ: я сейчас использую что-то более простое для sed:
/ ^ GlobalSection (TeamFoundationVersionControl) = preSolution $ /, / ^ EndGlobalSection $ / d
Перевод строки все еще остается проблемой, хотя