Bash:文本格式

ivcode

在我的Shell脚本中,我想记录文本对齐的状态消息。例如

STATUS 1          [OK]
STATUS 2      [FAILED]
PROCESS           [OK]

我尝试echo -e使用\toption,但是我必须手动设置对齐格式

[编辑]

这是我想要文字对齐的部分

if [ $? -eq 0 ];then
        echo -e "[$(date +%F_%T)] Alter table $DB.$table\t\t\t\t\t\t[OK]">>$log
        sleep 1
else
        echo -e "[$(date +%F_%T)] Alter table $DB.$table\t\t\t\t\t\t[FAIL]">>$log
        exit
fi

[解决方案]

通过@Jayesh和@evading找到了解决方案

创建的writeLog功能

function writeLog(){
    printf "%s %`expr 100 - ${#1}`s\n" "$1" "$2">>$log
}

像这样调用函数

writeLog“ STATUS1”“确定”

逃避
printf "%-`expr 40 - ${#b}`s %-40s\n", $a, $b

其中a和b是变量,expr 40 - ${#b}长度为40-length(b)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章