批量显示00到99——给10之前的数加0

我之前写过一篇日志——shell单引号与变量,其时当时的shell脚本并不能将10以前的数自动加零。当时因为急着改配置文件,所以也没有去改脚本。今天又要重写另外一批配置文件,而刚好时间又有空余,于是就想到把之前的那个问题用另外一个脚本给解决。

例如,我这次要配置的所有的域名是test00.info、test01.info……test99.info,于是下面的脚本就可以直接生成这样的结果了,直接会在小于10的代码前加0

#/bin/bash
for i in $(seq 0 99)
do
n=$(printf %02d $i)
echo 'test'${n}'.info'
done

上面的脚本主要利用了两个工具,一个是seq ,用seq后面加一个首数,后面加一个尾数,seq就会列出其之间的所有数字,并且自动列出为一行一个数字。效果如下:

[root@gataway test]# seq 1 10
1
2
3
4
5
6
7
8
9
10

另外用到的一个比较又用的工具就是printf,这个我们在学习C语言的时候用的比较多,而shell中因为有echo,平时我们大多把这个工具给忽略了。而这时就用到它了。具体用法和在C语言中的用法相同,另外也可以通过man手册查看。当然也并不是上面一种方法,其实通过if判断也可以实现的,具体见脚本:

#!/bin/bash
for n in $(seq 0 99)
do
    if [ $n -lt 10 ] ; then
       echo test0$n.info
    else
       echo test0$n.info
    fi
done

 




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: shell脚本学习 标签:
  1. 本文目前尚无任何评论.