一個資料庫增加大量的隨機的資料 (shell 指令碼)

來源:互聯網
上載者:User

這段時間在搞大數方面的研究,大量的資料哪裡去找呢呵呵,網上的一些自動產生工具也 不怎麼符合自己需求,於是乎自己就編寫了一個,能產生大量的隨機資料的指令碼,還能對設定檔進行配置哦,雖然有些地方做不夠靈活,但基本需求也OK啦

下面把原始碼貼出來分享一下哈

有兩個檔案

config.h

HOSTNAME='10.33.28.231'PORT='3306'USERNAME="drmtest"PASSWD="test"DBNAME="test"TABLENAME="testdb"  #this value has two place usedTABLE_ATTR=(int varchar varchar); # the type of column for TABLENAME ;#mysql_sql="select *from ${TABLENAME}"mysql_sql="${1}" ;mysql -h${HOSTNAME} -p${PORT} -u${USERNAME} -p${PASSWD} ${DBNAME} -e "${mysql_sql}" ;

inservalue.sh

視頻: 超感人年度神剪:《野青春》 http://v.youku.com/v_show/id_XNDkxODA0MTE2.html視頻: 我們必須找到除了愛情之外,能夠讓我們用雙腳,堅強站立的東西。http://v.youku.com/v_show/id_XNDA2ODE4NTgw.htmlRECORD_NUM=100CHAR_MAX_LEN=20TABLE_ATTR=(int varchar varchar)CLO_NUM=3CUR_ATTR=0TABLENAME="testdb"function search(){        local var;        var=${!#}        local i;        for i in $*        do                if [ $var = $i ] ;then                        return 3                fi        done}awk 'BEGIN{        record_num=int("'$RECORD_NUM'") ;        max_len = int("'$CHAR_MAX_LEN'");                print "awk begin" ;        srand();        info="a b c d e f g h i j k l m n o p q r s t u v w x y z";        split(info,arr,FS);                                #       for(i=0;i<26;i++)#               printf("i=%d,%s ",i,arr[i]);                        for(i=0;i<record_num;i++){                                printf("%d ",1024*rand())>"'$1'";                w = max_len*rand();                w = int(w)+1;                str="";                for(j=0;j<w;j++ ){                        k=100*rand()%26 ;                        k = int(k);                        str=str""arr[k+1];                }                printf("%s ", str)>"'$1'" ;                                     w = 10*rand();                w = int(w)+1;                str="";                for(j=0;j<w;j++ ){                        k=100*rand()%26 ;                        k = int(k);                        str=str""arr[k+1];                }                printf("%s ", str)>"'$1'" ;                             print "">"'$1'"        }}{               print "in awk";}END{ print "awk end" }  ' $1awk 'BEGIN{        #sql = "sh config "        #system(var);}{        sql = "sh config "        sql_value="(" ;        for(i=1;i<=3;i++){                if($i == int($i))                        sql_value=sql_value""$i;                else{                        sql_value=sql_value""",""""'\''"                        sql_value=sql_value""$i                        sql_value=sql_value"""'\''"                }                                }        sql_value=sql_value""")" ;        print sql_value ;                        real_sql =" \"insert into """"'${TABLENAME}' (id,name,passwd) values "        real_sql = real_sql""sql_value"""\"" ;                print real_sql ;                sql = sql""real_sql ;        system(sql);}END{ }' $1

在終端上運行如下:
$ sh inservalue.sh tmp

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.