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