我有这样的问题。在一个脚本中,我有一个格式化的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"