分页: 1 / 1
[求助] { 文本处理}--------->{sed}--------->{替换}--------->{特殊字符}
发表于 : 2009-10-09 15:54
由 crazyrabbit
目标:
将匹配上 ,"vip": 到 ]},{"id": 范围内的所有东西都替换成 回车
不知道命令怎么写。。。。

Re: [求助] { 文本处理}--------->{sed}--------->{替换}--------->{特殊字符}
发表于 : 2009-10-09 16:12
由 t3swing
深奥!
这个范围还真不好懂
Re: [求助] { 文本处理}--------->{sed}--------->{替换}--------->{特殊字符}
发表于 : 2009-10-09 17:09
由 crazyrabbit
将匹配上 ,"vip": 到 ]},{"id": 范围内的所有东西都替换成 \n
sed 's/,"vip":.*]},{"id":/\n/g' try.txt
我知道]是特殊字符,还有谁就不知道了;想利用.*表示所有可能的字符;把上面命令中的]换成\]也没成功
sed 's/,"vip":.*\]},{"id":/\n/g' try.txt
Re: [求助] { 文本处理}--------->{sed}--------->{替换}--------->{特殊字符}
发表于 : 2009-10-09 17:39
由 t3swing
.*换成[^]]可以匹配,但是如果你要去掉的部分有 ] 字符就不行了 ,下班,明天在说!
Re: [求助] { 文本处理}--------->{sed}--------->{替换}--------->{特殊字符}
发表于 : 2009-10-09 19:33
由 eexpress
估计是解析网页的。
一堆一堆去掉就是。
Re: [求助] { 文本处理}--------->{sed}--------->{替换}--------->{特殊字符}
发表于 : 2009-10-09 22:05
由 crazyrabbit
楼上两位都说对了,是网页分析,也确实在两者之间还有左中括号[
内容示例如下:
var members=[{"id":223878989,"vip":false,"selected":false,"mo":false,"name":"\u767d\u83b9","head":"http:\/\/hd27.youknowit.com\/photos\/hd27\/20080506\/13\/50\/tiny_2061l150.jpg","groups":["\u4e2d\u5c0f\u5b66\u540c\u5b66"]},{"id":228989037,"vip":false,"selected":true,"mo":true,"name":"\u535c\u8fea","head":"http:\/\/hdn511.mmimg.cn\/photos\/hdn511\/20090803\/2345\/tiny_m3N5_3709a204234.jpg","groups":[]},。。。。。。。。
上面不断循环的样子,我只想提取出id后面的数字,并每行只列一个
Re: [求助] { 文本处理}--------->{sed}--------->{替换}--------->{特殊字符}
发表于 : 2009-10-10 9:06
由 t3swing
直接提取匹配的就可以了: cat a.txt | grep -o '"id":[0-9]*'
cat e.txt|grep -o 'var[^"]*"id":[0-9]*'匹配第一个
啥事都逃不过ee的法眼啊!网页解析没搞过!
Re: [求助] { 文本处理}--------->{sed}--------->{替换}--------->{特殊字符}
发表于 : 2009-10-10 13:59
由 crazyrabbit
谢谢高手,厉害!

Re: [求助] { 文本处理}--------->{sed}--------->{替换}--------->{特殊字符
发表于 : 2011-04-30 12:54
由 小小输入法
C:\Users\aijieqiang\Desktop>perl -lne "print "$1" while /id\":(\d+)/g" test.txt
223878989
228989037