Выпущена новая версия nhcolor – простой и компактной консольной программы для выделения цветом текста в вывода bat файлов и консольных программ Windows . Программа nhcolor повышает наглядность и читаемость вывода,.

Новые возможности

В новой версии изменена работа фильтров на основе регулярных выражений: теперь фильтр применяется к части строки, а не ко всей строке. Благодаря этому, становится возможным отмечать цветом только определенную часть строки, и даже совмещать разные цвета в одной строке. При этом сохраняется возможность выделения цветом всей строки, например:

Как работают фильтры

Обрабатывая входной поток stdin по строкам, программа nhcolor применяет заданные фильтры и, если в строке найдены вхождения, то к каждой подстроке применяется цвет, заданный для этого фильтра.

Фильтры задаются в параметрах командной строки в виде <цвет фона><цвет текста>,<регулярное выражение>:

nhcolor <цвет фона><цвет текста>,<регулярное выражение> <цвет фона><цвет текста>,<регулярное выражение>...

Таких фильтров может быть задано несколько, и в процессе обработки строки они применяются в том же порядке, как указаны в строке запуска.

Пример строки с 3 фильтрами:

nhcolor 0a,success 0e,warning 0c,error

Эта строка задаёт такие правила работы программы:

  • если в строке найдено слово success, то оно будет напечатано зелёным цветом
  • если в строке найдено слово warning, то оно будет напечатано жёлтым цветом
  • если в строке найдено слово error, то оно будет напечатано красным цветом
  • если в строке не найдено ни одно из указанных слов, то вся строка будет напечатана стандартным белым цветом

Особенности регулярных выражений:

  • Используется синтаксис ECMAScript, описание можно найти в статье TR1 Regular Expressions, с опцией ignore case, то есть без контроля регистра, например, не имеет значения, success или SUCCESS

Использование регулярных выражений в фильтрах

Для выделения части строки, а не только одного слова, можно использовать возможности регулярных выражений.

Например, чтобы выделить слово ERROR вместе со следующим за ним десятичным кодом ошибки (ERROR 5 и т.п.), можно записать команду так:

nhcolor 0c,"error\s\d+"

Чтобы выделить красным цветом часть строки, начиная с найденного фрагмента ERROR 5 и до конца строки:

nhcolor 0c,"error\s\d+.*$"

Чтобы вывести красным цветом всю строку целиком:

nhcolor 0c,"^.*error\s\d+.*$"

Использование режима фильтров

Для работы программ нужно направить в неё вывод от другой программы или командного файла, например:

Подсветить жёлтым цветом каталоги в выводе программы dir:

dir | nhcolor 0e,^<DIR^>

Выделить в выводе программы ping зеленым цветом строки с TTL, а красным – строки с «превышен» или «сбой»:

ping ya.ru -n 100 | nhcolor 0a,TTL 0c,"превышен" 0c,"сбой" 

Отметить зелёным, жёлтым или красным строки со статусом выполнения командного файла:

my.bat | nhcolor 0a,"^.*success.*$" 0e,^.*warning.*$" 0c,^.*error.*$"

А также фильтры можно применять для более удобного просмотра сохраненных файлов протокола, например:

type my.log | nhcolor 0a,success 0e,warning 0c,error

Загрузить новую версию программы

Включает исполняемый файл nhcolor.exe и примеры использования в формате ZIP. Программе не требуется установка, работает в Microsoft Windows XP SP3 и старше.

Узнать больше

Информация о программе nhcolor

Регулярные выражения

Наши соцсети

Новая версия программы nhcolor v2.1.0
Метки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *