grep文件中的完整资源URL

时间:2015-03-30 19:11:49

标签: regex linux unix grep

我必须在这样的文件地址中搜索和提取:

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.

我哪里错了?

我无法弄清楚它为什么会发生。

非常感谢您的努力。

2 个答案:

答案 0 :(得分:0)

您的正则表达式和提取的文件名匹配。您列出的文件名以:

开头
  

http://ex

你的正则表达式需要什么。你可以将你的正则表达式更改为更符合你的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自动化多个文件下载,而不用模拟器和专有软件弄脏我的系统。

非常感谢!!