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

Chinaunix

標(biāo)題: 求解sed的正則表達式?? [打印本頁]

作者: chenbindream    時間: 2009-06-01 12:56
標(biāo)題: 求解sed的正則表達式??
<?xml version="1.0" encoding="GBK"?>
<adconfig ver="2.0">
<general retrys="3" retrysec="10" send_ad="0" check_hour="1" turn_playsec="13"/>
<main_ads>
<item index="358">
<date>2009-05-31 10:37:18</date>
<url><![CDATA[http://biz5.sandai.net/portal/images/n1243780638830.swf]]></url>
<deltime>2009-06-16 00:00:00</deltime>
<clickurl><![CDATA[http://cknum.sandai.net/fcg-bin/ ... 55.click?/1945/30/u[/url],31428,172&cid=22558,149,1&sid=63254&show=ignore&url=http://at.the9.com]]></clickurl>
<target>0</target>
<clienttype>1</clienttype>
<threshold>30</threshold>
</item>
<item index="143">
<date>2009-05-31 05:09:06</date>
<url><![CDATA[http://biz5.sandai.net/portal/images/n1243760946889.swf]]></url>
<deltime>2009-06-16 00:00:00</deltime>
<clickurl><![CDATA[http://cknum.sandai.net/fcg-bin/ ... com/?source=xunleii]]></clickurl>
<target>0</target>
<clienttype>12</clienttype>
<threshold>30</threshold>
</item>

刪除每一行中最后一個[ 符號之后,第一個] 符號之前的內(nèi)容,  求sed的正則表達式??
作者: springwind426    時間: 2009-06-01 13:13

  1. 是不是想把CDATA中的內(nèi)容去掉?

  2. sed 's@!\[CDATA\[.*\]\]@![CDATA[]]@'  數(shù)據(jù)文件

復(fù)制代碼

作者: kwokcn    時間: 2009-06-01 13:16
awk可否?

  1. awk -v RS="[" 'NR>2{printf "["}{printf s;s=$0}END{gsub("^[^]]*","",s);print s}' URFILE
復(fù)制代碼

作者: kwokcn    時間: 2009-06-01 13:18
呃……每一行,看錯了,還以為是最后那個CDATA…… - -
作者: mixednuts    時間: 2009-06-01 13:24
sed 's/\[.*\]//' ufile
作者: ly5066113    時間: 2009-06-01 13:26
sed 's#\[[^][]*]##' urfile
作者: blackold    時間: 2009-06-01 13:33
try:
  1. sed 's/\[[^][]*\]\([^[]*\)$/[]\1/' urfile
復(fù)制代碼

作者: merlin852    時間: 2009-06-01 13:35
sed  's#\[[^][]\+\]##g'
作者: ywlscpl    時間: 2009-06-01 13:35
標(biāo)題: 回復(fù) #7 blackold 的帖子

作者: tanglu    時間: 2009-06-01 14:22
標(biāo)題: 回復(fù) #7 blackold 的帖子
能不能解釋一下呀?好復(fù)雜,看不懂呀。
作者: blackold    時間: 2009-06-01 14:37
標(biāo)題: 回復(fù) #10 tanglu 的帖子
復(fù)雜未必好,能完全任務(wù)就行了。
作者: 我是DBA    時間: 2009-06-01 15:01
sed -r 's/(.*)\[[^]]*\](.*)/\1\2/'
作者: tanglu    時間: 2009-06-01 15:06
\[[^]]*\],是什么意思呀?
1,為什么左邊數(shù)第二個[的前面不用轉(zhuǎn)義符?
2,[^]代表什么東西?
作者: blackold    時間: 2009-06-01 15:10
標(biāo)題: 回復(fù) #13 tanglu 的帖子
\[[^]]*\]表示:一個字面字符[,后接零個或多個非]字符,后接字面字符]

1,為什么左邊數(shù)第二個[的前面不用轉(zhuǎn)義符? 因為這是特殊字符。
2,[^]代表什么東西? [^class], 非.

建議你看看正則基礎(chǔ)。

[ 本帖最后由 blackold 于 2009-6-1 15:21 編輯 ]
作者: yxq198smile    時間: 2009-06-01 15:11
sed 's/\[.*\]//' filename
作者: tanglu    時間: 2009-06-01 15:23
標(biāo)題: 回復(fù) #14 blackold 的帖子
非常感謝,還是基礎(chǔ)知識不牢固。
作者: chenbindream    時間: 2009-06-01 15:27
sed 's/\[.*\]//' filename  這個不是題目的要求,這個表達式的意思是:以第一個[ 開頭, . 任意字符, * 任意多次,最后一個]結(jié)尾的內(nèi)容清空。
----------------------------------------------
filename內(nèi)容中,可能有好幾對[ ], 是要求將最里面的那一對[ ]中的內(nèi)容刪除。
如何用正則表達式表示:每一行最后一個[ 之后,第一個]之前,如能說明一下你的正則表達式,最好! 謝謝
作者: moartel    時間: 2009-06-01 16:47
sed 's/\[[^][]*\]/[]/' urfile

看到好多人寫的都有問題.
大家看看我的有沒有問題.

錯了.

[ 本帖最后由 moartel 于 2009-6-1 17:13 編輯 ]
作者: blackold    時間: 2009-06-01 16:51
標(biāo)題: 回復(fù) #18 moartel 的帖子
這個匹配的不一定是最后的[。
作者: ywlscpl    時間: 2009-06-01 17:00
原帖由 moartel 于 2009-6-1 16:47 發(fā)表
sed 's/\[[^][]*\]/[]/' urfile

看到好多人寫的都有問題.
大家看看我的有沒有問題.


拿這段數(shù)據(jù)測試吧
1[2[3[444]5]6  1[2[3[444]5]6

按樓主規(guī)則最后期望結(jié)果是
1[2[3[444]5]6  1[2[3[]5]6
作者: moartel    時間: 2009-06-01 17:09
原帖由 blackold 于 2009-6-1 16:51 發(fā)表
這個匹配的不一定是最后的[。


感謝黑哥指導(dǎo).
作者: moartel    時間: 2009-06-01 17:10
原帖由 ywlscpl 于 2009-6-1 17:00 發(fā)表


拿這段數(shù)據(jù)測試吧
1[2[3[444]5]6  1[2[3[444]5]6

按樓主規(guī)則最后期望結(jié)果是
1[2[3[444]5]6  1[2[3[]5]6

謝謝指導(dǎo).
作者: haimming    時間: 2009-06-01 20:14
進來學(xué)習(xí)了
作者: 曉駱駝    時間: 2009-06-01 23:05
原帖由 blackold 于 2009-6-1 13:33 發(fā)表
try:sed 's/\[[^][]*\]\([^[]*\)$/[]\1/' urfile

能否稍加注釋
作者: haimming    時間: 2009-06-02 00:01
標(biāo)題: 回復(fù) #24 曉駱駝 的帖子
這個關(guān)鍵不在注釋,關(guān)鍵是正則基礎(chǔ)




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2