我正在编写一个bash脚本,它将下载页面,然后搜索jpg链接并下载它们。我坚持使用grep / sed命令,无法让他们找到链接。到目前为止,我已经尝试过:
grep -e "http.*" -e ".*jpg" -n wget.html
和
sed -n '/http/,/jpg/p' wget.html
如何在linux中从http://搜索到jpg?或者除了sed之外还有其他方式,grep?
答案 0 :(得分:1)
据我了解,您想从一些下载的HTML中提取所有http://...jpg字符串。我想理想的是每行一个。
$ cat wget.html | grep -e 'http:.*jpg' |sed -e 's/^.*\(http:.*jpg\).*$/\1/g'
grep只选择包含http refs的行,sed会从这些行中删除所有其他垃圾。
这仅限于每个HTML行一个http ref。如果无法假设,您可以添加类似“tr'>'的内容管道开头的'\ 010'用多个标签拆分行。
示例:
sal-xps:~ $ cat wget.html
<body>
<img src="http://foo.jpg">
<img src="http://bar/gronk.jpg">
</body>
sal-xps:~ $ cat wget.html | grep -e 'http:.*jpg' |sed -e 's/^.*\(http:.*jpg\).*$/\1/g'
http://foo.jpg
http://bar/gronk.jpg