当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于用sed截取字符串
帖子发表于 : 2015-10-29 9:06 

注册: 2012-01-08 22:54
帖子: 37
送出感谢: 0 次
接收感谢: 0 次
我用curl把http://www.77kp.com/vod-detail-id-61898.html的页面代码下载到ht.txt
grep -n 'thunder.*=' ht.txt 获得的文本是这样子的
528:<DIV class=dwon_y><a href="/yunbo.html?url=thunder://QUFlZDJrOi8vfGZpbGV8ob5MT0y159OwzOzMw3d3dy5sb2xkeXR0LmNvbaG/xNDH18WusK7UwdPvMDEucm12YnwzMDY3ODIwNzZ8QzlCQUM5NEQ1MTk4QUJGMUI4NzRDREQ1QTdBRDlGNTN8aD02UFI2Sk5ORjVNWjJPNjRLSUY2T041SVFFQ1U2VVdTQ3wvWlo=" title="男亲女爱粤语01云点播" target="_blank">琪琪云播</A></DIV>
我要截取迅雷链接的字符串,网上看到用sed来截取字符串的代码,后面\1\2这是什么意思没看懂,仿写一句
grep -n 'thunder.*=' ht.txt|sed 's/thunder.*=/\1 \2/p'
报错:sed: -e 表达式 #1, 字符 20: “s”命令的RHS非法引用\2↵
awk也是截取一行的,哪位大侠指点下在bash shell该怎么截取字符串?


_________________
守得云开见月明


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 关于用sed截取字符串
帖子发表于 : 2015-10-29 9:47 
头像

注册: 2007-09-29 3:09
帖子: 5777
送出感谢: 0 次
接收感谢: 5
你是想獲取"thunder://..."這串內容麽
猜它後面是base64,所以有效字符是A-Za-z0-9+/以及做padding的=
所以用
代码:
sed -r "s/.*(thunder:\/\/[0-9A-Za-z\+\/=]+).*/\1/"

應該就可以了
"\1"是指前面正則用()包含起來的內容,s/.../.../是替換,簡單說就是把整行內容替換成只有中間那部分再輸出

用相同的正則表達式,只用 grep 也可以
代码:
grep -n 'thunder.*=' ht.txt|grep -Eo "thunder:\/\/[0-9A-Za-z\+\/=]+"


不懂的話看sed/grep的手冊以及找下正則表達式的介紹吧


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 关于用sed截取字符串
帖子发表于 : 2015-10-29 12:59 

注册: 2012-01-08 22:54
帖子: 37
送出感谢: 0 次
接收感谢: 0 次
HuntXu 写道:
你是想獲取"thunder://..."這串內容麽
猜它後面是base64,所以有效字符是A-Za-z0-9+/以及做padding的=
所以用
代码:
sed -r "s/.*(thunder:\/\/[0-9A-Za-z\+\/=]+).*/\1/"

應該就可以了
"\1"是指前面正則用()包含起來的內容,s/.../.../是替換,簡單說就是把整行內容替換成只有中間那部分再輸出

用相同的正則表達式,只用 grep 也可以
代码:
grep -n 'thunder.*=' ht.txt|grep -Eo "thunder:\/\/[0-9A-Za-z\+\/=]+"


不懂的話看sed/grep的手冊以及找下正則表達式的介紹吧

好的,谢谢了。今天早上上网查了一下资料,我已经明白sed怎么用了,正则表达式昨晚看一晚还不是很理解和熟练,anyway,我用下面的代码得到了我想要的结果
代码:
grep -nE 'thunder:\/\/[0-9A-Za-z\+\/=]+' ht.txt|sed -r 's/.*(thunder:\/\/[0-9A-Za-z\+\/=]+).*/\1/'

以前打机挥霍了很多时间,现在我想学点感兴趣的知识。


_________________
守得云开见月明


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译