求助:字符提取问题

sh/bash/dash/ksh/zsh等Shell脚本
头像
我就是我2
帖子: 1215
注册时间: 2008-12-13 10:55
来自: the Earth
联系:

Re: 求助:字符提取问题

#16

帖子 我就是我2 » 2010-12-25 0:15

oneleaf 写了:python 凑个热闹

代码: 全选

cat bbb|python -c "import sys,re;print '\n'.join(re.findall(r'(http://tv.sohu.com.*?.shtml)',sys.stdin.read().replace(' ','')))"
得python2才行了。 :em11
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”


dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 求助:字符提取问题

#17

帖子 lilydjwg » 2010-12-25 0:51

我就是我2 写了: 得python2才行了。 :em11
Python3 很容易转换
[bash]cat bbb|python3 -c "import sys,re;print('\n'.join(re.findall(r'(http://tv.sohu.com.*?.shtml)',sys.stdin.read().replace(' ',''))))"[/bash]
kaiman
帖子: 127
注册时间: 2007-03-20 14:19

Re: 求助:字符提取问题

#18

帖子 kaiman » 2010-12-27 11:43

tusooa 写了:[python]
#!/usr/bin/env python
# -*- encoding : utf-8 -*-

vrsvideolist = {"videolist": [{"videoImage":"http://photocdn.sohu.com/20100118/vrsb3 ... ength":537}]}

for i in vrsvideolist['videolist']:
print (i["videoUrl"])

[/python]
我的个神啊,这应该才是LZ需要的答案吧,其他答案真精彩,个人喜欢13楼的答案,赞一个。
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 求助:字符提取问题

#19

帖子 lilydjwg » 2010-12-27 14:02

kaiman 写了: 我的个神啊,这应该才是LZ需要的答案吧,其他答案真精彩,个人喜欢13楼的答案,赞一个。
才注意到LZ给的是Javascript代码……

那我来个node.js的~
[javascript]
#!/usr/bin/env node
var sys = require("sys");
var vrsvideolist = {"videolist": [{"videoImage":"http://photocdn.sohu.com/20100118 /vrsb30507.jpg","relativeVideoId":51297,"videoUrl":"http://tv.sohu.com /20100119 /n269698584.shtml","videoId":51296,"videoOrder":"1","videoName":"安与安寻1第1 集","playLength":412},{"videoImage":"http://photocdn.sohu.com/20100118 /vrsb30509.jpg","relativeVideoId":51301,"videoUrl":"http://tv.sohu.com /20100119 /n269698593.shtml","videoId":51300,"videoOrder":"2","videoName":"安与安寻1第2 集","playLength":485},{"videoImage":"http://photocdn.sohu.com/20100118 /vrsb30511.jpg","relativeVideoId":51304,"videoUrl":"http://tv.sohu.com /20100119 /n269698604.shtml","videoId":51303,"videoOrder":"3","videoName":"安与安寻1第3 集","playLength":469},{"videoImage":"http://photocdn.sohu.com/20100118 /vrsb30512.jpg","relativeVideoId":51306,"videoUrl":"http://tv.sohu.com /20100119 /n269698616.shtml","videoId":51305,"videoOrder":"4","videoName":"安与安寻1第4 集","playLength":428},{"videoImage":"http://photocdn.sohu.com/20100118 /vrsb30513.jpg","relativeVideoId":51308,"videoUrl":"http://tv.sohu.com /20100119 /n269698620.shtml","videoId":51307,"videoOrder":"5","videoName":"安与安寻1第5 集","playLength":428},{"videoImage":"http://photocdn.sohu.com/20100118 /vrsb30517.jpg","relativeVideoId":51313,"videoUrl":"http://tv.sohu.com /20100119 /n269698637.shtml","videoId":51312,"videoOrder":"6","videoName":"安与安寻1第6 集","playLength":433},{"videoImage":"http://photocdn.sohu.com/20100118 /vrsb30523.jpg","relativeVideoId":51320,"videoUrl":"http://tv.sohu.com /20100119 /n269698643.shtml","videoId":51319,"videoOrder":"7","videoName":"安与安寻1第7 集","playLength":472},{"videoImage":"http://photocdn.sohu.com/20100118 /vrsb30534.jpg","relativeVideoId":51334,"videoUrl":"http://tv.sohu.com /20100119 /n269698653.shtml","videoId":51333,"videoOrder":"8","videoName":"安与安寻1第8 集","playLength":405},{"videoImage":"http://photocdn.sohu.com/20100118 /vrsb30531.jpg","relativeVideoId":51330,"videoUrl":"http://tv.sohu.com /20100119 /n269698658.shtml","videoId":51329,"videoOrder":"9","videoName":"安与安寻1第9 集","playLength":582},{"videoImage":"http://photocdn.sohu.com/20100118 /vrsb30541.jpg","relativeVideoId":51343,"videoUrl":"http://tv.sohu.com /20100119 /n269698672.shtml","videoId":51342,"videoOrder":"10","videoName":"安与安寻1第 10集","playLength":568},{"videoImage":"http://photocdn.sohu.com/20100118 /vrsb30527.jpg","relativeVideoId":51325,"videoUrl":"http://tv.sohu.com /20100119 /n269698695.shtml","videoId":51324,"videoOrder":"11","videoName":"安与安寻1第 11集","playLength":440},{"videoImage":"http://photocdn.sohu.com/20100118 /vrsb30538.jpg","relativeVideoId":51339,"videoUrl":"http://tv.sohu.com /20100119 /n269698697.shtml","videoId":51338,"videoOrder":"12","videoName":"安与安寻1第 12集","playLength":537}]};

var list = vrsvideolist["videolist"];
for(var i=0, len=list.length; i<len; i++){
sys.print(list["videoUrl"].replace(/\s/g, '')+'\n');
}
[/javascript]
禁飞区
帖子: 7
注册时间: 2010-12-15 8:48

Re: 求助:字符提取问题

#20

帖子 禁飞区 » 2011-01-05 11:24

That's my perl tip:


#!/usr/bin/perl
#
#
#
#
#
if(!open PASSWD,"/usr/yourfile")
{
die "where r u file ? ($!)";
}

while(<PASSWD>)
{
chomp;
s/.*Url":"//;
s/","vid.*//;
print "The lines are: $_\n";
}

close PASSWD;
头像
realfiona
帖子: 137
注册时间: 2007-11-20 10:58
来自: Hangzhou, China
联系:

Re: 求助:字符提取问题

#21

帖子 realfiona » 2011-01-06 16:42

代码: 全选

sed -n 's/"videoUrl":"\(http:[^"]*\)"/\n\1\n/gp' 1.txt | sed -n "/^http/w output.txt"
如果地址之间多余的空格是原来就有的话,下面的顺便去掉它们:

代码: 全选

sed -n 's/"videoUrl":"\(http:[^"]*\)"/\n\1\n/gp' 1.txt | sed -n "/^http/p" | sed -n "s/\s*//gw output.txt"
回复