tail 和 grep 文件以及按 IP 地址的独特颜色
tail & grep file and uniquely color by IP addresses
我一直在尝试为 tail -f
输出着色,以便每个 IP 地址的 IP 地址颜色是唯一的。我搜索什么都找不到。
这里有一些代码单独为当前 IP 地址着色,但每个 IP 的颜色都相同。
tail -f /var/www/domain.com/logs/global.log | egrep --color=auto '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}'
我希望每个 IP 地址都有一个独特的颜色。这样您就可以区分用户。
我试过:
tail -f /var/www/domain.com/logs/global.log | GREP_COLOR='01;36' egrep --color -E '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}|$'
我正在尝试找出一种根据 IP 定义颜色的方法,但我不确定如何继续。
但到目前为止,帮助不大。我在正确的路线上吗?干杯
结果
感谢下面的帮助,这是一个有效的编译答案
# Color ip address only
tail -f /var/www/file | perl -pe 's/\d{1,3}\.\d{1,3}.(\d{1,3})\.\d{1,3}/3[38;5;m$&3[39m/g'
我的新品最常用
# Color entire line
tail -f /var/file.log | perl -pe 's/^.*(\d{1,3})\.(\d{1,3}).(\d{1,3})\.(\d{1,3}).*$/3[38;5;m$&3[39m/g'
在 perl 中有一个可能性:tail -f YOURFILE| perl -pe 's/\d{1,3}\.\d{1,3}.(\d{1,3})\.\d{1,3}/3[38;5;m$&3[39m/g'
它用基于其第三个八位字节的 ANSI 颜色序列替换每个 IP 地址查找子字符串。
它在 re2g 中工作相同:tail -f YOURFILE| re2g -gp '\d{1,3}\.\d{1,3}.(\d{1,3})\.\d{1,3}' -s $'3[38;5;\1\2\3m\03[39m'
在 perl 中,您可以在颜色选择上变得更漂亮:tail -f YOURFILE| perl -pe 's/(\d{1,3})\.(\d{1,3}).(\d{1,3})\.(\d{1,3})/"3[38;5;".(16+(+++)%214)."m$&3[39m"/ge'
。此版本保证颜色落在良好的可见范围内,并且还基于所有四个八位字节的颜色。
我一直在尝试为 tail -f
输出着色,以便每个 IP 地址的 IP 地址颜色是唯一的。我搜索什么都找不到。
这里有一些代码单独为当前 IP 地址着色,但每个 IP 的颜色都相同。
tail -f /var/www/domain.com/logs/global.log | egrep --color=auto '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}'
我希望每个 IP 地址都有一个独特的颜色。这样您就可以区分用户。
我试过:
tail -f /var/www/domain.com/logs/global.log | GREP_COLOR='01;36' egrep --color -E '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}|$'
我正在尝试找出一种根据 IP 定义颜色的方法,但我不确定如何继续。
但到目前为止,帮助不大。我在正确的路线上吗?干杯
结果
感谢下面的帮助,这是一个有效的编译答案
# Color ip address only
tail -f /var/www/file | perl -pe 's/\d{1,3}\.\d{1,3}.(\d{1,3})\.\d{1,3}/3[38;5;m$&3[39m/g'
我的新品最常用
# Color entire line
tail -f /var/file.log | perl -pe 's/^.*(\d{1,3})\.(\d{1,3}).(\d{1,3})\.(\d{1,3}).*$/3[38;5;m$&3[39m/g'
在 perl 中有一个可能性:tail -f YOURFILE| perl -pe 's/\d{1,3}\.\d{1,3}.(\d{1,3})\.\d{1,3}/3[38;5;m$&3[39m/g'
它用基于其第三个八位字节的 ANSI 颜色序列替换每个 IP 地址查找子字符串。
它在 re2g 中工作相同:tail -f YOURFILE| re2g -gp '\d{1,3}\.\d{1,3}.(\d{1,3})\.\d{1,3}' -s $'3[38;5;\1\2\3m\03[39m'
在 perl 中,您可以在颜色选择上变得更漂亮:tail -f YOURFILE| perl -pe 's/(\d{1,3})\.(\d{1,3}).(\d{1,3})\.(\d{1,3})/"3[38;5;".(16+(+++)%214)."m$&3[39m"/ge'
。此版本保证颜色落在良好的可见范围内,并且还基于所有四个八位字节的颜色。