从curl的输出中提取模式

2024-04-27

我想在命令行上使用curl 来获取一个url,将其通过管道传递给一个模式,然后返回与该模式匹配的url 列表。

我遇到了该模式贪婪方面的问题,并且似乎无法克服它。对此的任何帮助将不胜感激。

curl http://www.reddit.com/r/pics/ | grep -ioE "http://imgur\.com/.+(jpg|jpeg|gif|png)"

因此,从 url 中获取数据,这会返回一团乱七八糟的 html,这可能需要以某种方式替换一些换行符,除非正则表达式可以在一行中返回多个模式。模式非常简单,任何匹配的字符串......

  • 以。。开始http://imgur.com/ http://imgur.com/
  • 有 A-Z a-z 0-9 (也许还有其他一些),到目前为止,5 个字符长,如果我想限制模式的这方面,8 应该永远覆盖它,但我不这样做
  • 以 .graphic_file_format_extention 结尾(jpg、jpeg、gif、png)

就是这样,在该 url 上,使用默认设置,我通常应该返回一组好的图像。我不会反对在同一页面使用 RSS Feel url,实际上它可能更容易解析。

感谢大家!

编辑 感谢您的快速回答,我的最终命令是:

$curl -s http://www.reddit.com/r/pics/ | grep -ioE "http:\/\/imgur\.com\/.{1,10}\.(jpg|jpeg|gif|png)"

Try:

http:\/\/imgur\.com\/.{5,8}\.(jpg|jpeg|gif|png)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从curl的输出中提取模式 的相关文章

随机推荐