我必须在这样的文件地址中搜索和提取:
http://deimos.apple.com/WebObjects/Core.woa/DownloadRedirectedTrackPreview/unina.it-dz.5373092572.05373092574.12739786322/enclosure.m4v
它们是38个链接,只有最后一个数字系列发生变化。
我试过这个正则表达式:
grep -io 'http://ex[a-z.-]*/[a-z0-9+-]*/[a-z0-9.,-+]*[.m4v]'
它提取文件中存在的所有指向m4v文件的网址,但不提取完整的网址,它会获得如下的部分网址:
http://deimos.apple.com/WebObjects/Core.woa/DownloadRedirectedTrackPreview/unina.
我哪里错了?
我无法弄清楚它为什么会发生。
非常感谢您的努力。
答案 0 :(得分:0)
您的正则表达式和提取的文件名不匹配。您列出的文件名不以:
开头你的正则表达式需要什么。你可以将你的正则表达式更改为更符合你的URL的东西:
'http://(?:[a-z0-9+-]+/)*[a-z0-9+-]+\.m4v'
答案 1 :(得分:0)
对不起乔纳森这是一个输入错误,而我在我的正则表达式中发布的是正确使用了dei而不是像写的那样。 但问题仍然存在。 马克开了我的脑海。 我知道地址是如何开始的,所以我尝试过 grep -io'http://dei / .m4v' 没有成功:-( fedorqui给出了最后的暗示,也许问题是一个点 所以我试过了 grep -io'http://deimos。 / .m4v':-D 它就行了!
现在我有了一个文件给wget自动化多个文件下载,而无需专有软件。
这些文件是在自由中免费发布的法律课程的播客,但只能以简单的方式购买Apple或Microsoft(iTunes)。 现在我有文件给wget自动化多个文件下载,而不用模拟器和专有软件弄脏我的系统。
非常感谢!!