正确填充到数字

时间:2016-02-21 19:44:34

标签: bash numbers

如何在数字后面的bash中添加尾随模式?

如果number为100,那么我想输出100xx

如果数字是2000,那么2000x

2 个答案:

答案 0 :(得分:3)

padding_x () { 
    a=$1;
    printf -v b '%-5s' $a;
    printf '%s\n' "${b// /x}"
}

用法:

$ padding_x 100
$ 100xx
$ padding_x 2000
$ 2000x

答案 1 :(得分:1)

如果您希望使用x打印最多20个位置的数字55,请使用

printf "%20d\n" 55 | sed -e 's/ /x/g' -e 's/\(x*\)\(.*\)/\2\1/'

或者当您更好地了解格式选项时,抱歉,请使用

printf "%-20d\n" 55 | sed -e 's/ /x/g' 

您也可以从打印过多的尾随字符x开始。

xxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
printf "%d%s\n"" 55 "${xxx}" | cut -c1-20