У меня есть файл ascii, и где-то там есть строка: BEGIN, а затем строка: 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
Тем не менее, переводы строк все еще являются проблемой.