亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
123
最近訪問板塊 發(fā)新帖
樓主: jinl
打印 上一主題 下一主題

[awk] 如何高效提取如下內(nèi)容 [復(fù)制鏈接]

論壇徽章:
0
21 [報(bào)告]
發(fā)表于 2008-06-10 17:15 |只看該作者
或者:
grep -o "v.*\"" urfile
好像也行。

論壇徽章:
0
22 [報(bào)告]
發(fā)表于 2008-06-10 21:08 |只看該作者

  1. awk '{match($0,/value="[^"]*"/);value=(RSTART)?substr($0,RSTART+7,RLENGTH-8):"";print value}'
復(fù)制代碼


match是用來測試是否匹配的,如果有匹配的,那么RSTART就是匹配的起始字符,RLENGTH就是匹配的長度

substr是用來取子字符串的,因?yàn)樾枰裿alue=""這8個(gè)字符去掉,因此需要用RLENGTH-8,因?yàn)樾枰ヅ涞膙alue的起始位置是"中間的內(nèi)容,因此需要將RSTART+7

我是用gawk測試的,不過match和substr函數(shù)很多awk都有(我用busybox的awk和mawk測試也是可行的)

我是對整個(gè)行進(jìn)行匹配的,如果不想對整個(gè)行進(jìn)行匹配(比如$1),那么把$0替換成$1就可以了。

解釋:
match($0,/value="[^"]*"/)  對內(nèi)容進(jìn)行匹配,正則表達(dá)式是 value="[^"]*"/
value=(RSTART)?substr($0,RSTART+7,RLENGTH-:""  先判斷是否有匹配,如果沒有,就用空值,否則,就取子串  賦給變量value

[ 本帖最后由 springwind426 于 2008-6-10 21:14 編輯 ]

論壇徽章:
0
23 [報(bào)告]
發(fā)表于 2008-06-11 05:07 |只看該作者
處理 XML ?

試試 xmlStarLet :
http://www.72891.cn/thread-1091183-1-1.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP