我尝试使用here和here列出的printf
建议,将空格填充到bash中的一系列字符串上。
迭代测试字符......
for i in a b c d e f g
do
printf "%-7s" "$i"
done
...产生预期结果:
a b c d e f g
但迭代实际字符串会产生奇怪的结果:
for i in date sha percent total covered uncovered
do
printf "%-7s" "$i"
done
date sha percenttotal covereduncovered
为什么这两次迭代导致不同的间距?
答案 0 :(得分:2)
填充仅添加空格以使总宽度达到7. percent
和covered
,但已经 7个字符,因此在任一字符串后都不需要填充
答案 1 :(得分:0)
这是你想要的吗?
$ for i in date sha percent total covered uncovered; do
> printf "%-7s%-6s" "$i" ""
> done
date sha percent total covered uncovered $
(请注意,我的提示位于该字符串的末尾。)