我想在命令行上使用curl来获取url,将其传递给模式,并返回与该模式匹配的url列表。
我遇到了模式的贪婪方面的问题,似乎无法超越它。任何有关这方面的帮助都会有所帮助。
curl http://www.reddit.com/r/pics/ | grep -ioE "http://imgur\.com/.+(jpg|jpeg|gif|png)"
所以,从url中获取数据,这会返回一堆html,这可能需要以某种方式替换掉一些换行符,因为正则表达式可以在一行中返回多个模式。模式非常简单,任何匹配的字符串......
关于它,在那个网址,默认设置,我通常应该回到一组好的图像。对于同一页面使用RSS感知网址我不会反感,实际解析可能更容易。
谢谢大家!
编辑 谢谢你的快速回答,我的最后命令是:
$curl -s http://www.reddit.com/r/pics/ | grep -ioE "http:\/\/imgur\.com\/.{1,10}\.(jpg|jpeg|gif|png)"
答案 0 :(得分:2)
尝试:
http:\/\/imgur\.com\/.{5,8}\.(jpg|jpeg|gif|png)
答案 1 :(得分:0)
很酷。从URL提取您的WAN IP:
curl -s https://hostpapastatus.com/ip/ | grep -ioE "([0-9]{1,3}[\.]){3}[0-9]{1,3}"