Intereting Posts

Сохранение цвета с vim с помощью grep

Мне нравится, как vim выделяет вывод из syslog. Тем не менее, я хочу, чтобы только самые свежие результаты были открыты. Я пытался

grep --color=always "$@" /var/log/syslog > /tmp/fileOUT vim /tmp/fileOUT 

но он дает выход цвета bash как [033; m бла-бла. Если я не include --color=always , цвет вообще отсутствует. Как я могу это сделать? (Я использую bash)

Ну, vim использует файлы шаблонов цветов для подсветки синтаксиса. Это не имеет ничего общего с выходом grep который использует escape-последовательности ANSI ( \[033; материал, о котором вы упомянули).

Мой vim не имеет файла стиля для syslog и не окрашивает его (я проверил как на Debian, так и на Ubuntu 14.04). Если вы посмотрите на соответствующий файл в своей системе, вы увидите, что он начинается с регулярного выражения, которое определяет файлы, которые должны совпадать. Итак, если вы сделаете ваш /tmp/fileOUT соответствующим синтаксису, он должен быть окрашен. Не используйте --color=always , это просто повредит вещи.

Кроме того, вы можете использовать source-highlight . Установите его с помощью sudo apt-get install source-highlight а затем запустите:

 sudo tail -n 50 /var/log/syslog | source-highlight --out-format=esc -o STDOUT -s log 

Приведенная выше команда будет окрашивать последние 50 строк /var/log/syslog :

введите описание изображения здесь