从左数到零以外的printf填充

时间:2018-12-07 06:38:51

标签: linux bash shell

我有一个a=10变量,我想用5填充的整数1从左开始填充。

输出应在下面:

11110

我正在做什么:

printf "%05d\n" "${a}" 

它给了我00010

3 个答案:

答案 0 :(得分:0)

我想我会:

printf "% 5d\n" "10" | tr ' ' '1'

填充空格,然后用空格代替。

答案 1 :(得分:0)

根据bash printf手册页,它仅支持零填充,因此您不能直接使用零以外的整数填充。

您可以通过字符串打印或通过操纵进行填充

a=10
printf '%s\n' 111${a}

 printf "% 5d\n" "10" | tr ' ' '1'

答案 2 :(得分:0)

您可以使用以下说明:

printf "%5d" "$a" | sed 's/ /1/g'

它输出:

11110