標籤: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語句