输入一串随机数字,然后按千分位输出。
比如输入数字串为“123456789”,输出为123,456,789
参考答案:
#!/bin/bash
read -p "输入一串数字:" num
v=`echo $num|sed 's/[0-9]//g'`
if [ -n "$v" ]
then
echo "请输入纯数字."
exit
fi
length=${#num}
len=0
sum=''
for i in $(seq 1 $length)
do
len=$[$len+1]
if [[ $len == 3 ]]
then
sum=','${num:$[0-$i]:1}$sum
len=0
else
sum=${num:$[0-$i]:1}$sum
fi
done
if [[ -n $(echo $sum | grep '^,' ) ]]
then
echo ${sum:1}
else
echo $sum
fi
上面这个答案比较复杂,下面再来一个sed的
#!/bin/bash
read -p "输入一串数字:" num
v=`echo $num|sed 's/[0-9]//g'`
if [ -n "$v" ]
then
echo "请输入纯数字."
exit
fi
echo $num|sed -r '{:number;s/([0-9]+)([0-9]{3})/\1,\2/;t number}'
shell习题
shell习题-格式化输出
2017年9月7日
shell习题
No Comments
aming
输入一串随机数字,然后按千分位输出。
比如输入数字串为“123456789”,输出为123,456,789
参考答案:
shell习题