Какие команды UNIX поддерживают цветной вывод? - PullRequest
11 голосов
/ 19 февраля 2009

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

В моем файле ~/.bash_aliases указаны:

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

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

Ответы [ 5 ]

9 голосов
/ 19 февраля 2009

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

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>) для поиска текста. Когда закончите со страницей руководства, просто выйдите, и поиск продолжится.

8 голосов
/ 19 февраля 2009

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

Ах, вот и мы. grc использует файл /etc/grc.conf, чтобы раскрасить данную команду в зависимости от того, какому регулярному выражению она соответствует. Краткий обзор моего (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 раскрашенным по умолчанию.

3 голосов
/ 19 февраля 2009

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

0 голосов
/ 21 марта 2009

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

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

0 голосов
/ 19 февраля 2009

Этот сценарий демонстрационного 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...