| Раскраска вывода команд с помощью grc |
|
Автор статьи: Чувак с гранатой
Я думаю, у многих начинающих пользователей Ubuntu хотя бы раз появлялось желание как-нибудь "оживить" работу в консоли. В этой статье рассказывается, как сделать разноцветной строку приглашения, но можно пойти ещё дальше и по своему усмотрению раскрасить вывод любой команды.
А после раскраски:
Имя хоста выделяется пурпурным цветом, ip-адрес - жёлтым, а числовые значения и результаты пинга - синим. Удобней, не правда ли? Но перед тем, как читать дальше, советую хотя бы немного ознакомиться с построением регулярных выражений. Информацию об этом вы легко сможете найти в интернете. Итак, нам понадобится установить программу grc: sudo apt-get install grc Создадим главный конфигурационный файл программы и откроем его: mkdir ~/.grc Формат здесь довольно простой. Файл разделён на отдельные блоки из двух строк: в первой должно быть написано регулярное выражение, обозначающее команду, а во второй - соответствующий ей файл настройки. Если строка пустая или начинается с символа "#" (комментарий), она игнорируются программой. Добавим описания для двух команд: # команда cat Чтобы запускать их в режиме раскраски, перед вводом команды надо добавить вызов grc. Но мы поступим проще: создадим для них синонимы в файле .bashrc (если вы используете другую командную оболочку, редактируйте её файл настройки): gedit ~/.bashrc Допишем туда следующие строки: # grc Перезапустим терминал, чтобы применить новые настройки. Теперь рассмотрим файлы с правилами раскраски команд. Они состоят из блоков, описывающих раскраску определённой подстроки вывода команды. Разделителем между блоками может быть любой символ, кроме букв, цифр и знака "#". Комментарии и пустые строки здесь тоже ингнорируются. gedit ~/.grc/conf.cat И скопируем в него следующее правило: # комментарий Во второй строке находится регулярное выражение для поиска подстроки, в третьей - цвет, которым подстрока должна выделяться. В данном случае, синим цветом раскрашиваются все строки, начинающиеся с символа "#", то есть комментарии. Пример вывода команды cat:
Для раскраски можно использовать следующие цвета: black, red, green, yellow, blue, magenta, cyan, white, default (стандартный), unchanged (оставить текущий цвет). Приставка "on_" в названии цвета означает раскраску фона: "on_yellow", "on_blue white" (белый текст на синем фоне). Теперь создадим файл conf.ping: gedit ~/.grc/conf.ping Вставим туда такие правила: # имя хоста Остановлюсь лишь на последнем блоке, который описывает выделение результатов пинга. Тут перечислены сразу несколько цветов: unchanged и четыре раза blue. Так как регулярное выражение состоит из нескольких запоминаемых соответствий, ограниченных круглыми скобками (здесь они одинаковые: "\d+\.?\d*"), каждому из них назначается свой цвет (синий). Первый же цвет (unchanged) относится ко всему выражению. То есть при нахождении удовлетворяющей условию строки сама она остаётся без изменений, но все остальные соответствия выделяются синим. Перечислю ещё несколько параметров для правил: skip=yes/no Пропустить вывод строки при найденом соответствии (по умолчанию, "no"). count=more/once/stop Количество допустимых соответствий в строке:
once - только одно; stop - только одно, после раскраски найденного соответствия перейти к следующей строке, пропустив остальные правила. |





