Какие команды UNIX поддерживают цветной вывод?

Мне нравится использовать команды UNIX/bash, которые поддерживают цветной вывод. Следовательно, у меня есть несколько определенных псевдонимов, которые автоматически разрешают цветной вывод команд, которые, как я знаю, поддерживают эту опцию. Тем не менее, я уверен, что существуют сотни команд, которые поддерживают цветной вывод - я хотел бы знать, что это такое.

Те в моем ~/.bash_aliases файл:

ls --color=auto
grep --color
phpunit --ansi

Что еще там? Есть ли где-нибудь список всех команд, которые поддерживают цветной вывод? Или, что еще лучше, какая-то команда для просмотра моих локальных справочных страниц и получения соответствующих имен команд.

5 ответов

Почему бы тебе не попробовать:

man -K color

Это должно искать слово color во всех ваших страницах руководства (содержание, а не только заголовки).

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

$ man -K color
/usr/share/man/mann/Widget.n.gz? [ynq] y
/usr/share/man/mann/usual.n.gz? [ynq] y
/usr/share/man/mann/Toplevel.n.gz? [ynq] n
/usr/share/man/mann/itk.n.gz? [ynq] n
/usr/share/man/mann/Archetype.n.gz? [ynq] n
/usr/share/man/man8/squid.8.gz? [ynq] n
/usr/share/man/man7/Xprint.7.gz? [ynq]
/usr/share/man/man7/X.7.gz? [ynq]
/usr/share/man/man7/urxvt.7.gz? [ynq]
/usr/share/man/man7/term.7.gz? [ynq] q

$

Внутри каждой отдельной страницы руководства вы можете использовать свой обычный метод поиска (например, /color<ENTER>) для поиска текста. Когда закончите со страницей руководства, просто выйдите, и поиск продолжится.

Быстрый поиск в Google также показывает grc а также grcat, который может быть использован для раскрашивания любого произвольного текста или команды. Не уверен, насколько хорошо они работают, хотя. Я, конечно, собираюсь попробовать их сейчас, когда я их нашел.

Ах, вот и мы. grc использует /etc/grc.conf файл, чтобы раскрасить данную команду в зависимости от того, к какому регулярному выражению она соответствует. Быстрый grep моего (Ubuntu 8.10) /etc/grc.conf показывает, что в настоящее время он поддерживает:

[~]$ less /etc/grc.conf | grep '^#'
# anything to do with irc
# log file
# ping command
# traceroute command
# gcc command
# make command
# netstat command
# diff command
# last command
# ldap tools
# cvs command

Но я уверен, что вы могли бы добавить свои собственные для других программ, которые вас интересуют.

Использовать grc просто поместите его перед командой, которую вы хотите раскрасить (скажем, diff):

grc diff foo.txt bar.txt

И вы могли бы, конечно, alias diff='grc diff' делать diff по умолчанию раскрашен.

Я очень люблю раскрашивать мою подсказку, чтобы она выделялась. Полезная статья о подобных вещах доступна здесь.

При просмотре журналов, вы можете наслаждаться tail -f /var/log/messages | loco для цветного вывода.

На сайте loco есть скриншот и другие примеры на http://www.linuxhaxor.net/2008/01/02/perl-script-to-add-nice-colors-to-your-varlogmessages-file

Этот сценарий демонстрационного bash окрашивает каталоги в большинство терминалов красным цветом - безусловно, работает в xterms и cygwin под Windows. Вы можете адаптировать цвета, играя с кодами перехода - Google для LS_COLOR для списков кодов цвета:

#!/bin/bash

color_red()
{
    echo -e "\033[01;31m$1\033[00m"
}

for FILE in $*
do
    if test -d $FILE
    then
        color_red $FILE
    else
        echo $FILE
    fi
done
Другие вопросы по тегам