我使用cURL來獲取網頁並呈現給我們的用戶。事情已經運作良好,直到我來到後使用相當數量的Ajax的網站,其格式,因此:Shell腳本執行正則表達式匹配/替換
33687|updatePanel|ctl00_SiteContentPlaceHolder_FormView1_upnlOTHER_NATL|
<div id="ctl00_SiteContentPlaceHolder_FormView1_othernationalities">
<h4>
<span class="tooltip_text" onmousemove="widetip=false; tip=''; delayToolTip(event,tip,widetip,0,0);return false"
onmouseout="hideToolTip()">
<span id="ctl00_SiteContentPlaceHolder_FormView1_lblProvideOTHER_NATL">Provide the following information:</span></span>
</h4>
|
266|scriptBlock|ScriptContentNoTags|
document.getElementById('ctl00_SiteContentPlaceHolder_FormView1_dtlOTHER_NATL_ctl00_csvOTHER_NATL').dispose = function() {
Array.remove(Page_Validators, document.getElementById('ctl00_SiteContentPlaceHolder_FormView1_dtlOTHER_NATL_ctl00_csvOTHER_NATL'));
}
因此,每個響應部分是4個部分:2和3只是標識,4纔是真正的「體「,1是身體的長度。問題在於我們修改了主體,我需要能夠更新第一部分的長度以表明這一點;否則,當將其插入到網頁中時,我們會拋出解析錯誤。
我試圖找出shell命令的組合(AWK,sed的,別的什麼): 一)閱讀它保存的文件 b)運行正則表達式來收集信息的每個單獨的塊(使用「( c)使第一個捕獲組等於最後一個捕獲組的長度 d)將第一個捕獲組與第二個捕獲組的長度相等,所有到一個新的文檔或回正則表達式匹配保存到由「集體」原
任何投入將不勝感激。