Chinaunix

标题: 如何删除html里的图片 [打印本页]

作者: 南非蜘蛛    时间: 2005-05-18 15:02
标题: 如何删除html里的图片
写了半天没有搞定,只好请教大家了
比如这些链接

我的目录下有很多html文件,我想把图片链接都删除了
ls
1.html 2.html 3.html 4.html 5.html
6.html 7.html 20.html a.html b.html

怎么删除html文件里的所有图片,用shell,比如这些东西
<img src=http://www.chinaunix.net/images/c.gif width=1 height=1>
<img src=http://www.chinaunix.net/images/b.gif>
<img src=http://www.chinaunix.net/images/d.gif width=1 height=2>

还有有链接的图片,连链接一起删除
<a href=http://news.163.com target=_blank><img src=http://news.163.com/imgs/blogtitle.gif border=0 width=242 height=60 alt="中文新闻中心!-163.com"></a>
作者: 寂寞烈火    时间: 2005-05-18 15:17
标题: 如何删除html里的图片
try

  1. sed -i '/<img src=/d' *.html
复制代码

作者: woodie    时间: 2005-05-18 15:19
标题: 如何删除html里的图片
试试这个:
  1. sed 's/<a [^<>]*>[^<>]*<img [^<>]*>[^<>]*<\/a>//g;s/<img [^<>]*>//g'
复制代码

没考虑跨行的情况,先凑合着用吧。
作者: 南非蜘蛛    时间: 2005-05-18 15:25
标题: 如何删除html里的图片
[quote]原帖由 "woodie"][/quote 发表:


thx,好代码
作者: waker    时间: 2005-05-18 17:13
标题: 如何删除html里的图片
  1. sed 's/<img [^<>]*>//g;s/<a [^<>]*><\/a>//'
复制代码

是不是好一点儿?
<a></a>中可能有多个<img>
作者: woodie    时间: 2005-05-18 21:54
标题: 如何删除html里的图片
原帖由 "waker" 发表:
是不是好一点儿?
<a></a>中可能有多个<img>

那不是把所有的链接都删掉了?蜘蛛的原意是删掉图片及图片上的链接吧。
多个图片共用一个链接可以在<img>标签后加上+来解决。

waker兄你的查找重复模式的表达式写的真棒!巧妙利用正则表达式的贪婪性,以毒攻毒啊。pfpf!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2