Какие команды 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