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

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

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 4467 | 回復(fù): 9
打印 上一主題 下一主題

[文本處理] 求助!sed 提取 xml 標(biāo)簽體 的問(wèn)題 [復(fù)制鏈接]

論壇徽章:
2
2015亞冠之德黑蘭石油
日期:2015-05-26 13:52:28程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-06-09 22:20:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-06-06 14:02 |只看該作者 |倒序?yàn)g覽
1、獲取 xml 中所有的 Temp 標(biāo)簽,(避免使用 xmllint )

  1. <a></a>
  2. <Temp
  3.        path="C:\"         docBase="/null/404"
  4. reloadable="true"/>
  5. <Test name="none">
  6. <!-- -->
  7. </Test>
  8. <Temp    docBase="/null/404"
  9.        reloadable="true" path="E:\Windows" />
  10. <b></b>
復(fù)制代碼
獲得


  1. <Temp
  2.        path="C:\"         docBase="/null/404"
  3. reloadable="true"/>

  4. <Temp    docBase="/null/404"
  5.        reloadable="true" path="E:\Windows" />

復(fù)制代碼
使用
  1. sed -n '/<Temp/,/\/>/p'
復(fù)制代碼
會(huì)將中間的
  1. <Test name="none">
  2. <!-- -->
  3. </Test>
復(fù)制代碼
包含進(jìn)去。

2、同樣提取 xml 標(biāo)簽體

  1. <a></a>
  2. <Temp
  3.        path="C:\"         docBase="/null/404"
  4. reloadable="true"/>

  5. <Test name="none" />

  6. <Temp    docBase="/null/404"
  7.        reloadable="true" >String</Temp>
  8. <b></b>
復(fù)制代碼
得到


  1. <Temp
  2.        path="C:\"         docBase="/null/404"
  3. reloadable="true"/>

  4. <Temp    docBase="/null/404"
  5.        reloadable="true" >String</Temp>

復(fù)制代碼
存在標(biāo)簽是否封閉的差異

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2015-06-06 14:18 |只看該作者
  1. awk  'BEGIN{RS=ORS=">"}$1~/Temp/'
復(fù)制代碼

論壇徽章:
60
20周年集字徽章-20	
日期:2020-10-28 14:04:3015-16賽季CBA聯(lián)賽之北京
日期:2016-07-06 15:42:0715-16賽季CBA聯(lián)賽之同曦
日期:2016-06-12 10:38:0915-16賽季CBA聯(lián)賽之佛山
日期:2016-05-27 11:54:56黃金圣斗士
日期:2015-12-02 11:44:35白銀圣斗士
日期:2015-11-25 14:32:43白銀圣斗士
日期:2015-11-23 12:53:352015亞冠之布里斯班獅吼
日期:2015-10-21 16:55:482015亞冠之首爾
日期:2015-09-01 16:46:052015亞冠之德黑蘭石油
日期:2015-08-31 11:39:192015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-08-28 21:06:5315-16賽季CBA聯(lián)賽之廣東
日期:2016-07-12 14:58:53
3 [報(bào)告]
發(fā)表于 2015-06-06 14:30 |只看該作者
  1. grep -Poz '^\s*<Temp[\s\S]*?/>|^\s*<Temp[\s\S]*?</Temp>' file
復(fù)制代碼
PS: 如果提示 grep: The -P and -z options cannot be combined ,確保 grep 版本在 2.6.x or higher

論壇徽章:
2
2015亞冠之德黑蘭石油
日期:2015-05-26 13:52:28程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-06-09 22:20:00
4 [報(bào)告]
發(fā)表于 2015-06-06 15:08 |只看該作者
回復(fù) 2# liuyu85


    “~” 約等于 對(duì) awk 版本有要求嗎?

論壇徽章:
20
卯兔
日期:2015-01-26 22:05:142015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-09-10 15:15:282015亞冠之阿爾希拉爾
日期:2015-09-25 17:37:53程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-03 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-09 06:20:00CU十四周年紀(jì)念徽章
日期:2015-12-17 09:07:15程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-25 06:20:34程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-25 06:20:34程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-25 06:20:342015亞冠之廣州富力
日期:2015-08-27 19:29:56每日論壇發(fā)貼之星
日期:2015-08-26 06:20:002015亞冠之阿爾希拉爾
日期:2015-05-18 17:26:27
5 [報(bào)告]
發(fā)表于 2015-06-06 16:09 |只看該作者
本帖最后由 songyc_2015 于 2015-06-06 16:27 編輯

回復(fù) 1# raps
  1. sed -n '/<Temp/{:1;$!N;/>/!b1;p}' file
  2. sed -n '/<Temp/{:1;//h;n;H;/>/!b1;g;p}' file
復(fù)制代碼

論壇徽章:
8
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015小元宵徽章
日期:2015-03-06 15:58:18每日論壇發(fā)貼之星
日期:2015-06-08 22:20:00每日論壇發(fā)貼之星
日期:2015-06-08 22:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-06-14 22:20:00數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2015-11-09 06:20:00數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2016-02-22 06:20:0015-16賽季CBA聯(lián)賽之上海
日期:2017-01-01 23:58:53
6 [報(bào)告]
發(fā)表于 2015-06-08 00:46 |只看該作者
本帖最后由 zl624867243 于 2015-06-08 00:49 編輯

奇怪了
[root@QD1 shell_scripts]# cat file
<a></a>
<Temp
       path="C:\"         docBase="/null/404"
reloadable="true"/>
<Test name="none">
<!-- -->
</Test>
<Temp    docBase="/null/404"
       reloadable="true" path="E:\Windows" />
<b></b>

[root@QD1 shell_scripts]# sed -n '/<Temp/,/\/>/p' file
<Temp
       path="C:\"         docBase="/null/404"
reloadable="true"/>
<Temp    docBase="/null/404"
       reloadable="true" path="E:\Windows" />

論壇徽章:
2
2015亞冠之德黑蘭石油
日期:2015-05-26 13:52:28程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-06-09 22:20:00
7 [報(bào)告]
發(fā)表于 2015-06-08 10:48 |只看該作者
回復(fù) 5# songyc_2015
  1.    sed -n '/<Temp/{:1;//h;n;H;/>/!b1;g;p}' file
復(fù)制代碼
有問(wèn)題,有的時(shí)候會(huì)包含多余的標(biāo)簽。

論壇徽章:
2
2015亞冠之德黑蘭石油
日期:2015-05-26 13:52:28程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-06-09 22:20:00
8 [報(bào)告]
發(fā)表于 2015-06-08 10:50 |只看該作者
回復(fù) 2# liuyu85


    awk  'BEGIN{RS=ORS=">"}$1~/Temp/'
    會(huì)落下部分標(biāo)簽

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2015-06-08 13:13 |只看該作者
回復(fù) 8# raps


    你提供的兩個(gè)測(cè)試文本+我回復(fù)的代碼,得到的結(jié)果沒(méi)有丟掉你提問(wèn)時(shí)需要的任何標(biāo)簽。
另外大體思路給你了,就算結(jié)果有點(diǎn)小瑕疵,請(qǐng)自己查詢和解決,這樣更有助你思考和學(xué)習(xí)。

論壇徽章:
2
2015亞冠之德黑蘭石油
日期:2015-05-26 13:52:28程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-06-09 22:20:00
10 [報(bào)告]
發(fā)表于 2015-06-08 18:54 |只看該作者
回復(fù) 9# liuyu85


    感謝指導(dǎo)。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP