2009-02-19 5 views
11

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

Те, в моем ~/.bash_aliases файле являются:

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

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

+1

Строго говоря, это GNU программы (AFIAK). И как мы все знаем: GNU's Un Unix! – MighMoS

+0

Я думаю, вы имеете в виду более двух цветов? :-) –

ответ

9

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

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

+0

Моя система использует нижний регистр k. Но я обычно использую apropos. –

+2

Деннис, я думаю, что нижний регистр k просто ищет заголовки, а не полный текст. – paxdiablo

3

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

8

Быстрый поиск 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, просто поставить его перед командой вы хотите Colorise (позволяет сказать diff):

grc diff foo.txt bar.txt 

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

+0

У 'grc' был вспомогательный скрипт:' grcat'. Вот пример окраски всех заглавных букв красным цветом. Шаг 1. Настройте файл конфигурации: 'printf 'regexp = [A-Z] \ ncolours = red \ n"> ~/.grc/red-caps' Шаг 2; Используйте его: 'echo Hello World | grcat red-caps' –

+0

Я использую 'grcat' и очень нравится. –

0

Этот демонстрационный код 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 
0

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

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

+1

Обе эти ссылки для меня нарушены, может ли кто-нибудь еще проверить? – paxdiablo