shell中格式化输出的问题

最近的一次百度面试中遇到一个linux的题目,就是将1,2,3,4,5,20,21,23 输出成01,02,0,3,04,05,20,21,23

没有写出来,网上查找到解决方法如下

1.方法一,没有成功

#!/bin/bash

for i in `seq 20`
do
      printf "%02d\n" $i
done

2.方法二

#!/bin/bash
var1=1
while [ $var1 -le 20 ]
do
if [ $var1 -lt 10 ]
then echo 0$var1
else echo $var1
fi
let var1=$var1+1
done

你可能感兴趣的:(linux)