免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2428 | 回复: 8
打印 上一主题 下一主题

“不许联想”mp3player.xml处理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-14 17:26 |只看该作者 |倒序浏览
今天想去下载王小峰博客上的音乐,像往常一样,把http://www.wangxiaofeng.net/mp3player.xml拉回来,发现格式都乱了,像以下,只有2行(<player ×××>到</player>为一行)。

<?xml version="1.0" encoding="UTF-8"?>
<player showDisplay="yes" showPlaylist="yes" autoStart="no"> <song path="http://music.u148.net/Kris_Kristofferson-holy_woman.mp3" title="Kris_Kristofferson-holy_woman" /> <song path="http://music.u148.net/public_image_ltd-disappointed.mp3" title="public_image_ltd-disappointed" /> <song path="http://music.u148.net/Muse-Uprising.mp3" title="Muse-Uprising" /> <song path="http://music.u148.net/Orla_Fallon-She_Moved_Thro_the_Fair.mp3" title="Orla_Fallon-She_Moved_Thro_the_Fair" /> <song path="http://music.u148.net/damon_and_naomi-E.T.A.mp3" title="damon_and_naomi-E.T.A." /> <song path="http://music.u148.net/England_Dan_And_John_Ford_Coley-Who_s_Lonely_Now.mp3" title="England_Dan_And_John_Ford_Coley-Who_s_Lonely_Now" /> <song path="http://music.u148.net/the_avett_brothers-will_you_return.mp3" title="the_avett_brothers-will_you_return" /> <song path="http://music.u148.net/richard_hawley-ashes_on_the_fire.mp3" title="richard_hawley-ashes_on_the_fire" /> <song path="http://music.u148.net/avion_travel-abbassando.mp3" title="avion_travel-abbassando" /> <song path="http://music.u148.net/Elisabeth_Kontomanou-I_gotta_right_to_sing_the_blues.mp3" title="Elisabeth_Kontomanou-I_gotta_right_to_sing_the_blues" /> <song path="http://music.u148.net/Matthew_Barber-Easily_bruised.mp3" title="Matthew_Barber-Easily_bruised" /> <song path="http://music.u148.net/Pearl_Jam-Just_Breathe.mp3" title="Pearl_Jam-Just_Breathe" /> <song path="http://music.u148.net/Hope_Sandoval_&_The_Warm_Inventions-Wild_Roses.mp3" title="Hope_Sandoval_&_The_Warm_Inventions-Wild_Roses" /> <song path="http://music.u148.net/u2-ill_go_crazy_if_i_dont_go_crazy_tonight.mp3" title="u2-ill_go_crazy_if_i_dont_go_crazy_tonight" /> <song path="http://music.u148.net/Monsters_Of_Folk-Say_Please.mp3" title="Monsters_Of_Folk-Say_Please" /> <song path="http://music.u148.net/Andres_Cepeda-Faltarán.mp3" title="Andres_Cepeda-Faltarán" /> <song path="http://music.u148.net/Mark_Mulcahy-Be_Sure.mp3" title="Mark_Mulcahy-Be_Sure" /> <song path="http://music.u148.net/Brett_Dennen-San Francisco.mp3" title="Brett_Dennen-San Francisco" /> <song path="http://music.u148.net/Hnir_Pan-Piyka.mp3" title="Hnir_Pan-Piyka" /> <song path="http://music.u148.net/KAYAH-EMBARCACAO.mp3" title="KAYAH-EMBARCACAO" /> <song path="http://music.u148.net/Mosh_Ben_Ari-Bein_hazlilim.mp3" title="Mosh_Ben_Ari-Bein_hazlilim" /> <song path="http://music.u148.net/the_black_crowes-appaloosa.mp3" title="the_black_crowes-appaloosa" /></player>


想过将http与mp3之间的内容提取出来,但不知道如何入手,最后想出先将它分行,再提出mp3地址

sed "s/<song/\n\r<song/g" mp3player.xml |cut -d\" -f2

输出,有首歌的歌名不是英文,乱码了,Andres_Cepeda-Faltar¨¢n.mp3
http://music.u148.net/Kris_Kristofferson-holy_woman.mp3
http://music.u148.net/public_image_ltd-disappointed.mp3
http://music.u148.net/Muse-Uprising.mp3
http://music.u148.net/Orla_Fallon-She_Moved_Thro_the_Fair.mp3
http://music.u148.net/damon_and_naomi-E.T.A.mp3
http://music.u148.net/England_Dan_And_John_Ford_Coley-Who_s_Lonely_Now.mp3
http://music.u148.net/the_avett_brothers-will_you_return.mp3
http://music.u148.net/richard_hawley-ashes_on_the_fire.mp3
http://music.u148.net/avion_travel-abbassando.mp3
http://music.u148.net/Elisabeth_Kontomanou-I_gotta_right_to_sing_the_blues.mp3
http://music.u148.net/Matthew_Barber-Easily_bruised.mp3
http://music.u148.net/Pearl_Jam-Just_Breathe.mp3
http://music.u148.net/Hope_Sandoval_&_The_Warm_Inventions-Wild_Roses.mp3
http://music.u148.net/u2-ill_go_crazy_if_i_dont_go_crazy_tonight.mp3
http://music.u148.net/Monsters_Of_Folk-Say_Please.mp3
http://music.u148.net/Andres_Cepeda-Faltar¨¢n.mp3
http://music.u148.net/Mark_Mulcahy-Be_Sure.mp3
http://music.u148.net/Brett_Dennen-San Francisco.mp3
http://music.u148.net/Hnir_Pan-Piyka.mp3
http://music.u148.net/KAYAH-EMBARCACAO.mp3
http://music.u148.net/Mosh_Ben_Ari-Bein_hazlilim.mp3

能不能不分行,然后直接把http与mp3之间的内容提取出来呢?

论坛徽章:
0
2 [报告]
发表于 2009-10-14 18:01 |只看该作者
grep -oP '(?<=song path=")[^"]*(?=" title=)' mp3.xml

论坛徽章:
0
3 [报告]
发表于 2009-10-14 18:26 |只看该作者
好强大,谢了!

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
4 [报告]
发表于 2009-10-14 20:39 |只看该作者
  1. grep -o 'http[^"]*\.mp3' urfile
复制代码

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
5 [报告]
发表于 2009-10-14 21:01 |只看该作者
原帖由 blackold 于 2009-10-14 20:39 发表
grep -o 'http[^"]*\.mp3' urfile


黑哥这个简洁,学习!

论坛徽章:
0
6 [报告]
发表于 2009-10-15 09:24 |只看该作者
[^"]
这个什么意思?去掉后就没输出了

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
7 [报告]
发表于 2009-10-15 09:31 |只看该作者

回复 #6 johncan 的帖子

[^"]一个非"字符。

论坛徽章:
0
8 [报告]
发表于 2009-10-15 09:58 |只看该作者
原帖由 blackold 于 2009-10-15 09:31 发表
[^"]一个非"字符。


为什么是非"字符?http后跟的是://啊,想不明白
还请黑哥再解释下!

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
9 [报告]
发表于 2009-10-15 10:05 |只看该作者

回复 #8 johncan 的帖子

://都不是"啊,这就对了。

如果想深入了解,先看正则基础吧,看过你就明白了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP