我正在写一个bash脚本,它将下载页面,然后搜索一个jpg链接,并将它们下载。我塞满了grep/sed命令,无法让它们找到链接。到目前为止,我已经尝试过:
grep -e "http.*" -e ".*jpg" -n wget.html
和
sed -n '/http/,/jpg/p' wget.html
如何在linux中从http://搜索到jpg?或许除了sed,grep还有其他方法?
发布于 2011-12-17 03:33:21
据我所知,您希望从一些下载的http://...jpg中提取所有的HTML字符串。我猜最理想的情况是每行一个。
$ cat wget.html | grep -e 'http:.*jpg' |sed -e 's/^.*\(http:.*jpg\).*$/\1/g'
grep只挑选包含http引用的行,sed从这些行中剔除所有其他垃圾。
每个HTML行只能有一个http引用。如果不能假设这一点,您可以在管道的开头添加类似"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
https://stackoverflow.com/questions/8539118
复制相似问题