use*_*860 8 linux bash shell awk
awk -F: '{ printf "%-3s %-2s","\n" $1 $2; }'
Run Code Online (Sandbox Code Playgroud)
我如何添加颜色代码?'\ E [1;32米'
我尝试添加到printf,它给我输出字符串而不是颜色代码..
'\e[1;32m' .......
Run Code Online (Sandbox Code Playgroud)
bar*_*rak 11
\033[?m 适当引用给出颜色:
awk 'BEGIN{ print "\033[34msomething in colour\033[0m";}'
Run Code Online (Sandbox Code Playgroud)
请注意以下内容需要如何发布$1:
echo something | awk '{ print "\033[34m"$1" in colour \033[0m";}'
Run Code Online (Sandbox Code Playgroud)
awk不会将'\ e'识别为转义字符的代码.这是一种解决方法(可能存在更优雅的东西):
# Decimal 27 is the ASCII codepoint for the escape character
awk '{ printf "%c[1;32m foo\n", 27 }' <<<foo
Run Code Online (Sandbox Code Playgroud)
试试这个例子:
echo "line 1
line 2" | awk '/line/ {print "\033[32m" $1 "\033[31m" $2 }'
Run Code Online (Sandbox Code Playgroud)
颜色由 "\033[32m"
对于颜色:
30 - black 34 - blue
31 - red 35 - magenta
32 - green 36 - cyan
33 - yellow 37 - white
Run Code Online (Sandbox Code Playgroud)