2
我有一个函数设置用于以彩色尾部文件。Awk:使用ANSI转义序列的字符串否定
function testtail {
tail -f -n100 $1 | awk '/SNMP/ {print "\033[1;33m" $0 "\033[39m"}'
}
可正常工作和打印包含SNMP在我指定的颜色,但我怎么会告诉awk来也否定用绳子SNMP任何行中的所有行,以便指不以另一种颜色匹配SNMP打印线?我曾尝试:
function testtail {
tail -f -n100 $1 | awk '/SNMP/ {print "\033[1;33m" $0 "\033[39m"}' '!/SNMP/ {print "\033[1;34m" $0 "\033[39m"}'
}
这:
function testtail {
tail -f -n100 $1 | awk '/SNMP/ {print "\033[1;33m" $0 "\033[39m"}' | awk '!/SNMP/ {print "\033[1;34m" $0 "\033[39m"}'
}
但无论工作。我怎样才能做到这一点?
@Paul感谢您的编辑!但请注意'print'和'print $ 0'完全等价。如果我写了'XXX'不是写所有'\ 033'等:D – fedorqui
这两个解决方案都可以工作,但是当我按c来杀死testtail命令时,我的提示变成了红色。任何想法都是关于什么的? – user53029
@ user53029这是因为你在那里留下了一些开放代码。 – fedorqui