LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 863|回复: 4

[已解决]请教如何在vi中删除一类特定内容

[复制链接]
发表于 2009-4-21 15:02:40 | 显示全部楼层 |阅读模式
某网页中有很多如下代码:

  1. <span style="display: none;">!@#$% </span>
复制代码

其中!@#$%是随机字符和乱码
在vi中怎样才能删除它们呢?
如果其它工具如sed可以办到,也请不吝赐教。
发表于 2009-4-22 21:13:57 | 显示全部楼层
sed:
sed  -e 's/>.*</></g'

VI:
按Esc,输入:
1,$s/>.*</></g
回复 支持 反对

使用道具 举报

发表于 2009-4-22 23:58:48 | 显示全部楼层
上面的是错的。用firefox有个插件叫什么cleanhide可以干这个。

下面都是vim
如果这样的都是单独一行的话。用
:g/display: none/d
删除,如果不是单独一行,就比较复杂了用s来做。
回复 支持 反对

使用道具 举报

发表于 2009-4-23 00:19:58 | 显示全部楼层
  1. :%s/\(<span style="display: none;">\).\{-3,}\(<\/span>\)/\1\2/g
复制代码
这个就ok了。 这个在vim里可以,在vi里不行。
vim对vi的正则表达式做了扩展。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-23 12:40:28 | 显示全部楼层
Post by ginkgo;1978215

  1. :%s/\(<span style="display: none;">\).\{-3,}\(<\/span>\)/\1\2/g
复制代码

这个就ok了。 这个在vim里可以,在vi里不行。
vim对vi的正则表达式做了扩展。


好用,多谢!

那个cleanhide扩展也非常不错
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表