格式化bash脚本输出

时间:2015-11-09 19:11:12

标签: bash format alignment stdout

如果printfecho有特殊的格式参数,我现在正在搜索一段时间。当我启动我的ubuntu时,我总是看到这种输出。 我的目标是打印这样的文字:

Setting up locals                  [DONE]
Starting simulation                [DONE]
Receiving Data                     [FAIL]
Retry operation                      [OK]

括号中的信息应始终在终端的右边框上对齐并着色。

有人可以给我一个提示,我该如何安排?

谢谢你和BR

2 个答案:

答案 0 :(得分:1)

以下bash会将严重性与终端右侧对齐。

log_msg() {
    MSG="$1"
    SEVERITY="[$2]"
    let COL=$(tput cols)-${#MSG}

    printf "%s%${COL}s" "$MSG" "$SEVERITY"
}

用法:

log_msg "Setting up locals" "DONE"
log_msg "Starting simulation" "DONE"
log_msg "Receiving Data" "FAIL"
log_msg "Retry operation" "OK"

答案 1 :(得分:0)

您可以尝试这样的事情:

setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setIcon(R.drawable.profile_banner_orange);