Chinaunix

标题: 用shell生成《精通正则表达式》里面正则匹配的IP地址 [打印本页]

作者: xiaowh00    时间: 2012-06-22 10:06
标题: 用shell生成《精通正则表达式》里面正则匹配的IP地址
#!/bin/bash
# (((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))
# 根据上面的正则表示式规则,生成合法的ip地址
# author: xiaowh00
# date: 20126-22
mkdir /home/xiaowh00/data/ -p > /dev/null 2>&1
> /home/xiaowh00/data/iplist
cd /home/xiaowh00/data/
creat_random()
{       
        rept=`expr $RANDOM % 3 + 1`
        case $rept in
        1 ) {
                      num1=`expr $RANDOM % 10`
                echo -n "$num1" >> iplist               
             };;
        2 ) {
                num1=`expr $RANDOM % 10`
                num2=`expr $RANDOM % 10`
                echo -n "$num1$num2" >> iplist
                };;
        3 ) {
                num1=`expr $RANDOM % 2 + 1`
                if [ "$num1" -eq "1" ]
                then
                        num2=`expr $RANDOM % 10`
                        num3=`expr $RANDOM % 10`
                else
                        num2=`expr $RANDOM % 6`
                        case $num2 in
                        [0-4] ) num3=`expr $RANDOM % 10` ;;
                        5 )            num3=`expr $RANDOM % 6` ;;
                        esac
                fi
                echo -n "$num1$num2$num3" >> iplist
             };;
        esac
}
while [ ture ]
do
        for((i=0;i<3;i++))
        {
                creat_random
                echo -n "." >> iplist
        }
        creat_random
        echo >> iplist
done




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2