2016-02-21 84 views

回答

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

用法:

$ padding_x 100 
$ 100xx 
$ padding_x 2000 
$ 2000x 
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