Я думаю, что вы ищете какой-то скрипт sed
, который будет окружать слова, которые вы выбираете, с помощью escape-последовательностей ANSI Color. (хм ... дай мне посмотреть).
РЕДАКТИРОВАТЬ ОК, получил:
Вот пример для вывода «Hello» темно-красным:
echo -e "\033[31mHello\033[0m"
Что происходит? Прежде всего, я использую echo -e
, чтобы echo
не преобразовывал косые черты в экранные косые черты, а скорее считывал escape-последовательность \033
как один экранированный символ. На самом деле это только 33 в восьмеричном, что составляет 27 (порядковый номер для ключа ESC).
То, что действительно отправляется на экран, выглядит примерно так:
<ESC>[32mHello<ESC>[0m
Что на дисплее ANSI интерпретируется как «сначала выполните команду 32m
, выведите« Hello », а затем
выполните команду 0m
.
В этом случае команда 32m
означает «установить цвет переднего плана на 2», и, поскольку цвет # 2 темно-красный, «ручка», используемая терминалом, теперь будет темно-красной. Это означает, что с этого момента весь текст, который будет отображаться на экране, будет темно-красным.
Когда мы закончим вывод текста, который должен быть красным, мы хотим сбросить цвета, поэтому мы вызываем команду 0m
, которая сбрасывает цвета до нормальных.
Список всех кодов перехода можно найти в [http://en.wikipedia.org/wiki/ANSI_escape_code Википедии] или просто в Google.
Итак, все, что нужно сделать вашему сценарию sed, это заменить слова, которые вы выбрали, словами, окруженными цветами. Например, чтобы заменить слово «Feb» в /var/log/messages
, выполните следующее:
tail /var/log/messages | sed -e "s/Feb/\\o033[31m&\\o033[0m/"
(Возможно, вам придется сделать это как root, чтобы действительно прочитать /var/log/messages
)
Все, что сделал sed
, - это поиск слова "Feb" и окружение его той же escape-последовательностью, что мы использовали выше.
Вы можете расширить его, чтобы раскрасить несколько слов:
tail /var/log/messages | sed -e "s/\(Feb\|Mar\|Apr\)/\\o033[31m&\\o033[0m/g"
Какие цвета "Фев", "Мар", "Апр" - каждый темно-красный.
Надеюсь, это даст вам представление о том, как делать то, что вам нужно!