Есть ли команда linux, которая позволяет мне закодировать результат другой команды?

Я watch по команде для отслеживания количества открытых соединений для службы, которую мы диагностируем. Мне нужно следить за ним, выполняя другую работу,чтобы помочь другим разработчикам определить, когда служба действует.

результатом работы часов является число от 1 до 5000. Я хотел бы показать номер как зеленый, когда он ниже 500, желтый, когда он между 501 и 4000, и красный для выше 4000.

есть ли команда, которая может легко установить цвет основываясь на ценности моей команды?

5
задан STW
источник

4 ответов

Я написал небольшой скрипт, который назвал color:

#!/bin/bash

result=$($@)

GREEN="1;32m"
YELLOW="1;33m"
RED="1;31m"

if [ "$result" -lt "500" ]
then
        echo -e "3[$GREEN  $result  3[0m" ;
elif [ "$result" -ge "500" -a "$result" -le "4000" ]
then
        echo -e "3[$YELLOW  $result  3[0m" ;
else
        echo -e "3[$RED  $result  3[0m" ;
fi

Теперь вы можете работать:

watch --color ./color <your command here>

убедитесь, что ваша команда просто выходной число. Иначе вы должны правильно обработать вывод и назначить его result переменной.

3
отвечен fmanco 2014-10-22 20:20:27
источник

CCZE может быть то, что вы ищете:

man страница на Ubuntu руководства

enter image description here

установка

в системах на основе Debian вы можете легко установить его с помощью

sudo apt-get install ccze

использование

используйте его так:

tail -f /var/log/syslog | ccze

Плагины

если расцветка по умолчанию ccze нет к Ваш любить, вы может расширить функциональность через плагины. К сожалению, я никогда не писал, как я служил хорошо с поведением по умолчанию, так что я могу только направить вас к ccze-plugin на странице.

3
отвечен Der Hochstapler 2012-06-19 19:06:53
источник

Я думаю, что вы можете цвета на man-страницах, однако (после выполнения нескольких Google поиск, я не думаю, что то, что вы ищете, существует.

1
отвечен wizlog 2012-06-19 18:42:31
источник

можно использовать tput для того, чтобы поставить некоторый цвет в вашей жизни. Примеры

tput setf 3 # textcolor green
tput setf 6 # red
tput sgr0 # back to normal
echo "$(tput setf 6)$line$(tput setf sgr0)"

этот и более весело с Выход на http://www.ibm.com/developerworks/aix/library/au-learningtput/

1
отвечен ott-- 2012-06-19 18:58:16
источник

Другие вопросы colors command-line linux watch