Есть ли команда linux, которая позволяет мне раскрасить результат другой команды?
1068
STW
Я запускаю watchкоманду для контроля количества открытых соединений для службы, которую мы диагностируем. Мне нужно следить за этим во время выполнения другой работы, чтобы помочь другим разработчикам определить, когда сервис работает.
Результат часов - число от 1 до 5000. Я хотел бы показать число зеленым, когда оно ниже 500, желтым, если оно между 501 и 4000, и красным для значения выше 4000.
Есть ли команда, которая может легко установить цвет в зависимости от значения моей команды?
Я не знаком с linux :) "смотреть" - значит показывать стандартный вывод в терминале?
Maximus 11 лет назад
0
@Maximus Это утилита Linux, которая многократно выполняет команду и отображает вывод в терминале с заданным интервалом. `watch -n 1 ps aux` - например, монитор процессов бедного человека (выполнять` ps aux`, чтобы перечислять процессы каждую `1` секунду и печатать результаты).
Darth Android 11 лет назад
1
Просто скажу вам: для всех этих неприятных команд diff есть colordiff. Например. SVN Diff | Colordiff -> Woho!
Valentin 11 лет назад
0
В системах на основе Debian вы можете легко установить его через
sudo apt-get install ccze
использование
Используйте это так:
tail -f /var/log/syslog | ccze
Плагины
Если cczeвам не нравится поведение по умолчанию, вы можете расширить функциональность с помощью плагинов. К сожалению, я никогда не писал ничего, так как мне хорошо подходит поведение по умолчанию, поэтому я могу только направить вас на ccze-pluginстраницу руководства .
3
fmanco
Я написал этот небольшой сценарий, который я назвал цвет:
#!/bin/bash result=$($@) GREEN="1;32m" YELLOW="1;33m" RED="1;31m" if [ "$result" -lt "500" ] then echo -e "\033[$GREEN $result \033[0m" ; elif [ "$result" -ge "500" -a "$result" -le "4000" ] then echo -e "\033[$YELLOW $result \033[0m" ; else echo -e "\033[$RED $result \033[0m" ; fi
Теперь вы можете запустить:
watch --color ./color <your command here>
Убедитесь, что ваша команда просто выводит число. Иначе вы должны правильно обработать вывод и присвоить его resultпеременной.