Có một lệnh linux cho phép tôi mã màu kết quả của một lệnh khác không?


5

Tôi đang chạy một watchlệnh để theo dõi số lượng kết nối mở cho một dịch vụ mà chúng tôi chẩn đoán. Tôi cần để mắt đến nó trong khi thực hiện các công việc khác, để giúp các nhà phát triển khác xác định khi nào dịch vụ hoạt động.

Kết quả của đồng hồ là một số trong khoảng từ 1 đến 5000. Tôi muốn hiển thị số đó là màu xanh lá cây khi nó dưới 500, màu vàng khi nằm trong khoảng từ 501 đến 4000 và màu đỏ cho trên 4000.

Có một lệnh có thể thiết lập màu dễ dàng dựa trên giá trị của lệnh của tôi không?


Tôi không quen thuộc với linux :) "xem" - có nghĩa là hiển thị std out trong terminal?
Maximus

1
@Maximus Đó là một tiện ích linux liên tục thực thi một lệnh và hiển thị đầu ra trong một thiết bị đầu cuối theo một khoảng thời gian xác định. watch -n 1 ps aux- Ví dụ, người giám sát quy trình của một người nghèo (thực hiện ps auxđể liệt kê các quy trình mỗi 1giây và in kết quả).
Darth Android

Chỉ cần nói với bạn: có colordiff cho tất cả các lệnh diff khó chịu đó. Ví dụ. svn diff | colordiff -> woho!
Valentin ngày

Câu trả lời:


3

Tôi đã viết kịch bản nhỏ này mà tôi đặt tên màu:

#!/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

Bây giờ bạn có thể chạy:

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

Hãy chắc chắn rằng lệnh của bạn chỉ xuất một số. Khác bạn phải xử lý đầu ra chính xác và gán nó cho resultbiến.


3

CCZE có thể là thứ bạn đang tìm kiếm:
trang hướng dẫn sử dụng Ubuntu

nhập mô tả hình ảnh ở đây

Cài đặt

Trên các hệ thống dựa trên Debian, bạn có thể dễ dàng cài đặt nó qua

sudo apt-get install ccze

Sử dụng

Sử dụng nó như thế này:

tail -f /var/log/syslog | ccze

bổ sung

Nếu hành vi tô màu mặc định cczekhông theo ý thích của bạn, bạn có thể mở rộng chức năng thông qua các plugin. Đáng buồn thay, tôi chưa bao giờ viết bất kỳ vì tôi phục vụ tốt với hành vi mặc định, vì vậy tôi chỉ có thể hướng bạn đến ccze-plugintrang người đàn ông .



1

Bạn có thể sử dụng tputđể đặt một số màu sắc trong cuộc sống của bạn. Ví dụ là

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

Điều này và thú vị hơn với thông số trên http://www.ibm.com/developerworks/aix/l Library / au-learningtput /

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.