bash printf用颜色格式化输出



我有这样的问题。在一个脚本中,我有一个格式化的printf字符串。有些列应该用不同的颜色标记,但如果尝试用颜色标记,则会破坏整个格式。

这个是不工作

printf  "%5s|%-6.5s|%-70.69s|%-9.8s|%7.6s|%7.6s|%-15.30sn"  "Nr. " " One " "Two" "Three" "Four" ""$(tput setaf 1)"Five"$(tput sgr0)"" " Six"

无彩色作品:

printf  "%5s|%-6.5s|%-70.69s|%-9.8s|%7.6s|%7.6s|%-15.30sn"  "Nr. " " One " "Two" "Three" "Four" "Five" " Six"

有人能解决问题吗?

提前感谢!

嗯。。。我想你所做的有点奇怪。看起来有七个格式字符串要迭代到七个文本块。好的。当我想在脚本中使用彩色文本时,我使用了一种不同的文本着色方法。

const_TextPlain='e[0m' const_TextYellow='e[1;33m' printf '%b' "${const_TextYellow}" "${important_message}: " "${const_TextPlain}" 'n'

你想为你的文本模块包括格式字符串,以防止损坏。所以九个格式字符串而不是七个。我也会看看你帖子的评论。

这是有效的:

printf  "%5s|%-6.5s|%-70.69s|%-9.8s|%7.6s|"$(tput setaf 1)"%7.6s"$(tput sgr0)"|%-15.30sn"  "Nr. " " One " "Two" "Three" "Four" "Five" " Six"

最新更新