小编awr*_*eau的帖子

在列中打印多行变量

我有一个从集群中收集值的脚本。在某些情况下,这些值具有多行。我有一个 printf 格式,它指定了数据应该如何定位,但是它没有考虑多行,因此间距是倾斜的。

The data should look like this:

Service Group          AutoStart List          System List
foo                    sys1                    sys1
                       sys2                    sys2
Run Code Online (Sandbox Code Playgroud)

相反,它看起来像这样

Service Group          AutoStart List          System List
foo                    sys1                    
sys2                    sys1
sys2
Run Code Online (Sandbox Code Playgroud)

AutoStart List 和 System List 应该是相同的,但是不管这个事实,我还没有想出如何将值强制到正确的列中。

sgheader="\n\033[4m\033[1m%-30s %-30s %-15s\033[0m\033[0m"
sgformat="\n%-30s %-30s %-15s"



printf "${sgheader}" "Service Group" "Autostart List" "System List" 
printf "${sgformat}" "${svcgroup}" "${autostrtlist}" "${hosts}"
Run Code Online (Sandbox Code Playgroud)

bash shell-script text-processing columns

6
推荐指数
1
解决办法
2423
查看次数

标签 统计

bash ×1

columns ×1

shell-script ×1

text-processing ×1