awk -F: '{ printf "%-3s %-2s","\n" $1 $2; }'
如何添加顏色代碼? 「\ E [1;32米」awk將顏色代碼添加到文本
我嘗試對printf增加,這給我的字符串,而不是顏色代碼的輸出..
'\e[1;32m' .......
awk -F: '{ printf "%-3s %-2s","\n" $1 $2; }'
如何添加顏色代碼? 「\ E [1;32米」awk將顏色代碼添加到文本
我嘗試對printf增加,這給我的字符串,而不是顏色代碼的輸出..
'\e[1;32m' .......
awk
不承認「\ E」作爲代碼轉義字符。這裏有一個解決方法(東西更優雅可能存在):
# Decimal 27 is the ASCII codepoint for the escape character
awk '{ printf "%c[1;32m foo\n", 27 }' <<<foo
awk 'BEGIN{print "^[[1;33mYELLOW"}'
將打印在黃(色)的字符串YELLOW
注意 第一^[
你必須鍵入ctrl-v
然後ESC
我會添加一個屏幕快照來顯示。
上面的截圖顯示了它的zsh下和bash工作。
希望這有助於任何人尋找答案!如你所見,這些函數和各種初始化可以寫出一個相當簡單的打印行,如下所示。
print colour("Red")$1colour("Blue")$0colour("None");
對於colour
功能,既可以通過在顏色或名稱的整數值。它採用以下格式的參數。
colour(<attribute> , <background-colour> , <foreground-colour>)
colour(<background-colour> , <foreground-colour>)
colour(<foreground-colour>)
您可以選擇性地提供所需的參數。
function isnumeric(x)
{
return (x == x+0);
}
function name_to_number(name, predefined)
{
if (isnumeric(name))
return name;
if (name in predefined)
return predefined[name];
return name;
}
function colour(v1, v2, v3)
{
if (v3 == "" && v2 == "" && v1 == "")
return;
if (v3 == "" && v2 == "")
return sprintf("%c[%dm", 27, name_to_number(v1, fgcolours));
else if (v3 == "")
return sprintf("%c[%d;%dm", 27, name_to_number(v1, bgcolours), name_to_number(v2, fgcolours));
else
return sprintf("%c[%d;%d;%dm", 27, name_to_number(v1, attributes), name_to_number(v2, bgcolours), name_to_number(v3, fgcolours));
}
BEGIN {
# hack to use attributes for just "None"
fgcolours["None"] = 0;
fgcolours["Black"] = 30;
fgcolours["Red"] = 31;
fgcolours["Green"] = 32;
fgcolours["Yellow"] = 33;
fgcolours["Blue"] = 34;
fgcolours["Magenta"] = 35;
fgcolours["Cyan"] = 36;
fgcolours["White"] = 37;
bgcolours["Black"] = 40;
bgcolours["Red"] = 41;
bgcolours["Green"] = 42;
bgcolours["Yellow"] = 43;
bgcolours["Blue"] = 44;
bgcolours["Magenta"] = 45;
bgcolours["Cyan"] = 46;
bgcolours["White"] = 47;
attributes["None"] = 0;
attributes["Bold"] = 1;
attributes["Underscore"] = 4;
attributes["Blink"] = 5;
attributes["ReverseVideo"] = 7;
attributes["Concealed"] = 8;
}
{
print colour("Red")$1colour("Blue")$0colour("None");
}
\033[?m
正確引用賦予顏色:
awk 'BEGIN{ print "\033[34msomething in colour\033[0m";}'
通知一個需要怎樣下面反轉義$1
:
echo something | awk '{ print "\033[34m"$1" in colour \033[0m";}'
BDF()
{
#awk 'BEGIN{ print "\033[34msomething in colour\033[0m";}'
#bdf $spool $data $sysout ~ /home/fnsonlh |grep -v avail| awk '{print $5" "$4" "}' | tail -n +2 |tr -d "\012"
bdf $spool $data $sysout ~ /home/fnsonlh |grep -v avail| awk '{if($4 > 89)
{
print "\033[0;31m"$5" "$4"\033[0m "
}
else
{
print "\033[0;32m"$5" "$4"\033[0m "
}}' |tail -n +2 |tr -d "\012"
#"\012 is new line caracter"
echo
#/usr/bin/w -u
uptime
}
#[email protected]
僅有代碼的答案通常是不被接受的。請編輯您的答案,以包含代碼正在執行的內容以及它如何回答問題的描述。 –
這是否顏色代碼工作與正常'echo'? – Shahbaz