Я ищу "относительно" простой способ поиска в cvs для поиска конкретной строки в ревизиях HEAD.
Я понимаю, как CVS-хранилище версий делает это трудным. Но я пытаюсь придумать какой-нибудь скрипт, чтобы разрешить этот поиск (производительность здесь не ожидается).
В настоящее время эта команда выведет содержимое заголовочных файлов.
cvs co -r HEAD -p
stdout = содержимое файла (для поиска в строке поиска)
stderr = имя файла / информация заголовка (нужно найти строку, обозначающую имя файла).
В идеале я хочу собрать содержимое и отобразить заголовок + несколько строк до и после искомого элемента (вывод этого, вероятно, направлен в некоторый файл).
Я нашел способ grep stdout и stderr, используя разные значения. И полученный stdout / stderr отображается в правильном порядке. Но любая попытка перенаправить его в файл портит порядок?
{
{ cvs co -r HEAD -p myModule 4>&- | grep 'myString' 2>&4 4>&-
} 4>&2 2>&1 >&3 3>&- | grep 'Check' >&2 3>&-
} 3>&1
Вопрос 1. Есть ли более простой способ сделать все это вместе?
Вопрос 2. Если нет, как я могу получить вывод приведенного выше кода для добавления к файлу в том же порядке, что и на консоли?