我有一堆 html 文件,所有 img 标签的斜杠都写错了!
这是一个例子(除了它只是代码中的一行,为了方便查看,这里将其拆分)
<a href=index.html><img src="images\homereg.png" /></a>
<img src="images\spacer.png" />
<a href=dogs.html><img src="images\dogsreg.png" /></a>
<img src="images\spacer.png" />
<a href=litters.html><img src="images\littersreg.png" /></a>
<img src="images\spacer.png" />
<a href=bredby.html><img src="images\bredbyreg.png" /></a>
<img src="images\spacer.png" />
<a href=contact.html><img src="images\contactreg.png" /></a>
到目前为止,我尝试过的方法中,我遇到的问题是 sed 过于贪婪,因此匹配过多,并且替换不当。类似sed -i 's|images\\\(.*\)\"|images/\1\"|g' *
每行替换一个这样的方法,匹配过多。我尝试过其他方法,但都和这个方法一样。
最简单的解决方案是什么?我不仅限于 sed,我只是最了解它,所以这是我尝试过的。
答案1
检查这是否适合你
sed "s/images\\\/images\\//g"
答案2
不要使用正则表达式。只需将所有出现的 替换为images\
即可images/
。
所有基本的文本编辑器都应该支持这一点。
如果你想使用sed
:
sed 's|images\\|images/|g' filename.html