我想在命令行上使用 curl 来获取一个 url,将其通过管道传输到一个模式,然后返回一个与该模式匹配的 url 列表。
我遇到了模式贪婪方面的问题,似乎无法解决它。对此的任何帮助将不胜感激。
curl http://www.reddit.com/r/pics/ | grep -ioE "http://imgur\.com/.+(jpg|jpeg|gif|png)"
因此,从 url 获取数据,这会返回一堆 html,这可能需要以某种方式替换一些换行符,除非正则表达式可以在一行中返回多个模式。模式非常简单,任何匹配的字符串......
就是这样,在那个 url 上,使用默认设置,我通常应该得到一组好的图像。我不会反对在同一页面上使用 RSS 感觉 url,实际上它可能更容易解析。
谢谢大家!
编辑
感谢您的快速回答,我现在的最终命令是:
$curl -s http://www.reddit.com/r/pics/ | grep -ioE "http:\/\/imgur\.com\/.{1,10}\.(jpg|jpeg|gif|png)"
最佳答案
尝试:
http:\/\/imgur\.com\/.{5,8}\.(jpg|jpeg|gif|png)
关于regex - 从 curl 的输出中提取模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2707129/