Я использую скрипт bash, основанный на технике, использованной здесь: Получение цветного вывода в bash , чтобы раскрасить вывод моих сборок и других сценариев, чтобы упростить чтение.Один из шагов в моей сборке выполняет «git pull», и сервер git выдает строку «welcome», подобную этой, среди множества других выходных данных:
** WARNING: THIS IS A PRIVATE NETWORK. UNAUTHORIZED ACCESS IS PROHIBITED. **
Use of this system constitutes your consent to interception, monitoring,
and recording for official purposes of information related to such use,
including criminal investigations.
Я бы хотел покрасить этот конкретныйсообщение желтого цвета или, возможно, удалите его из вывода, оставив остальную часть вывода в покое.Я попытался заменить простую строку следующим образом:
WelcomeMessage="WARNING"
pathpat=".*"
ccred=$(echo -e "\033[0;31m")
ccyellow=$(echo -e "\033[0;33m")
ccend=$(echo -e "\033[0m")
git pull 2>&1 | sed -r -e "/$WelcomeMessage/ s%$pathpat%$ccyellow&$ccend%g"
Первая строка строки приветствия окрашена в желтый цвет, как и ожидалось, но остальные строки - нет.Мне бы очень хотелось закрасить точную строку приветствия и только эту строку, но по многим причинам это не работает:
WelcomeMessage="** WARNING: THIS IS A PRIVATE NETWORK. UNAUTHORIZED ACCESS IS PROHIBITED. **
Use of this system constitutes your consent to interception, monitoring,
and recording for official purposes of information related to such use,
including criminal investigations."
pathpat=".*"
ccred=$(echo -e "\033[0;31m")
ccyellow=$(echo -e "\033[0;33m")
ccend=$(echo -e "\033[0m")
git pull 2>&1 | sed -r -e "/$WelcomeMessage/ s%$pathpat%$ccyellow&$ccend%g"
Это не с ошибкой: sed: -e выражение # 1, char78: регулярное выражение с неопределенным адресом
Я посмотрел пару других вопросов и смог избежать звездочек (поставив перед ними обратную косую черту), но я озадачен точками и несколькими строками.Я бы хотел продолжить использовать sed для решения этой проблемы, поскольку он прекрасно интегрируется с решением для окрашивания.
Любая помощь приветствуется.Спасибо!