《懶人Shell指令碼》之六——一鍵構造待採集批量sql語句

來源:互聯網
上載者:User

標籤:bash   key   stc   處理   轉換   lag   lin   media   ann   

1、需求

採集任務構造入庫。實現200多個網站的標題、時間、內容等資訊的採集資訊配置,並插入mysql中。

2、實現步驟步驟1:人工實現Excel表格配置。

定義好唯一索引,如第一列的序號。好處:
1)序號可以成為mysql中的索引。
2)序號規定後,可以實現分布式,1個人4個小時。真正可以實現4個人1小時完成任務。(真正的分布式)
這點,非常重要。
關於索引,實踐表明,對於每個網站入口唯一值的定義unique索引,能更進一步防止衝突,確保唯一。

步驟2:將表格存入到txt中。

在linux環境下,進行dos2unix格式轉換,確保utf-8編碼,確保沒有亂碼。

步驟3:指令碼實現一鍵構造sql語句。3、指令碼源碼
#!/bin/shP2P_CONFIG_FILE=./base_config.txtONE_LINE=./output/config_line.txt#read line by linecat $P2P_CONFIG_FILE | while read linedomkdir -p ./outputecho $line > $ONE_LINE;#echo line=$lineid_01=`cat $ONE_LINE | awk -F " " ‘{ print $1 }‘`;name_02=`cat $ONE_LINE | awk -F " " ‘{ print $2 }‘`;url_03=`cat $ONE_LINE | awk -F " " ‘{ print $3 }‘`;lstcharset_04=`cat $ONE_LINE | awk -F " " ‘{ print $4 }‘`;concharset_05=`cat $ONE_LINE | awk -F " " ‘{ print $5 }‘`;notice_url_06=`cat $ONE_LINE | awk -F " " ‘{ print $6 }‘`titleXpath_07=`cat $ONE_LINE | awk -F " " ‘{ print $7 }‘`timeXpath_08=`cat $ONE_LINE | awk -F " " ‘{ print $8 }‘`contentXpath_09=`cat $ONE_LINE | awk -F " " ‘{ print $9 }‘`touch ./tmp.txtecho $titleXpath_07 >> ./tmp.txtsed -i "s#\"#\\\‘#g" ./tmp.txttitleXpath_07=`cat ./tmp.txt`#echo $id_01#echo $name_02#echo $url_03echo "INSERT INTO test.mdia_config (id, source_name, entry_url, list_charset, content_charset, channel_id, media_class, site_id, class_id, list_xpath, title_xpath, publish_time_xpath, content_xpath, click_count_xpath, comment_count_xpath, repost_count_xpath, list_js_enabled, content_js_enabled, last_deliver_time, deliver_period, weight, proxy_gather, delete_flag) VALUES (‘$id_01‘, ‘$name_02‘, ‘$notice_url_06‘, ‘$lstcharset_04‘, ‘$concharset_05‘, ‘1‘, ‘1‘, ‘$id_01‘, ‘1‘, ‘[\"$titleXpath_07\"]‘, ‘‘, ‘$timeXpath_08‘, ‘$contentXpath_09‘, ‘‘, ‘‘, ‘‘, ‘0‘, ‘0‘, ‘2016-11-19 05:02:11‘, ‘600‘, ‘0‘, ‘0‘, ‘0‘);"rm -f $ONE_LINErm -f ./tmp.txtdone;

注意點:
1)、逐行讀取;
2)、對於每一列的讀取,採取了迴圈儲存臨時檔案,然後迴圈刪除的方法。(2年前跟同事學的,非常湊效)
3)、注意sql中對單引號、雙引號的提前處理,確保sql語句合法。這點,可以去navicate裡面去驗證sql語句。

4、小結

能夠指令碼實現提高效率的,堅決不用手動敲入。
是的,就是簡單的幾行,也要寫個迴圈。效率見於平時,效率見於細節。

銘毅天下
轉載請標明出處,原文地址:
http://blog.csdn.net/laoyang360/article/details/53236018
如果感覺本文對您有協助,請點擊‘頂’支援一下,您的支援是我堅持寫作最大的動力,謝謝!

《懶人Shell指令碼》之六——一鍵構造待採集批量sql語句

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.