Vim在网络维护工作中应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Vim在网络维护工作中应用

Vim在网络维护工作中应用   Vim是Linux上著名的文本编辑器,他是早年的Vi编辑器的加强版。gVim是Vim的图形前端,它是跨平台的编辑器,基本上主流的操作系统上面都有它的版本。这个极具Unix特色和风格的编辑器功能十分强大,在实际工作中,尤其是批量文本处理上有着令人倍感方便快捷的特性。   Vim的具体编辑操作功能这里不做详述,笔者主要针对其强大的正则替换功能加以解析,如果运用得当,将会在大批量文本处理时事半功倍,极大提高处理效率,这样对程序员或网络管理员而言,将会得到一件得心应手的利器,在实际工作中有着非常重要的意义。下文讲述以gVim for windows作为使用环境。   在非编辑状态下,按下英文半角字符冒号即可进入Vim命令模式,正则替换要在此模式下输入特定指令加以执行,如下:   :g/test string/s//replace test string/g   可见替换命令由/分隔的6小段组成,说明如下:   第1段,例中“g”,代表替换范围为全部行,也可用“101,200”这样的格式代表特定的行号范围。   第2段,例中“test string”,搜索的字符串,可使用正则表达式,详细的正则表达式这里不做详述,只做一些常用功能的说明:^代表行首,$代表行尾,.代表任意字符,\s代表空白(空白包括空格、TAB)字符,\w代表字母字符,\d代表若干数字字符,.、\s、\w、\d的后面跟\+代表1或多个字符,跟*代表0或多字符(贪婪模式),跟\{-}代表非贪婪模式的*。另外在正则中还可以用\(\)进行分组。   第3段,例中“s”,代表要替换,需后续段指明如何替换,如果不包含第3段及以后的段,就代表搜索指令,如果第3段为d,则为删除,无需后续段。   第4段,例中为空,如果找到搜索串行后,要替换的不是搜索串,而是其它字符串,可在这里指定,一般除特殊情况不做指定。   第5段,例中“replace string”要替换的字符串,为空代表删除,可以使用第2段中的分组编号\1,\2等,代表从搜索串中取特定组的字符串,组合到替换字符串中,最后用作替换的串。   第6段,例中“g”,代表找到搜索字符串所在行后,全行搜索进行替换,如不加,则代表仅对本行进行一次搜索替换。   下面试举几例,对其进行说明。   例1,如下交换机配置vlan脚本:   vlan 1   vlan 2   vlan 3   …   实际工作中,vlan可能很多,有上千个,现在要在每个vlan前加个no,如果每行手工粘贴是不现实的,在Vim中可用一个简单的正则替换瞬间完成:   :g/^vlan/s//no vlan/   第2段的^vlan,代表寻找每行起头为vlan的所在行,第6段没有加g,因为我们只需替换每行起头的vlan为no vlan。   例2,有很长一段从设备上寻出的脚本,空格非常杂乱:   nfpp   log-buffer entries 1024   log-buffer logs 1 interval 300   ip-guard rate-limit per-src-ip 32   ip-guard attack-threshold per-src-ip 64   no arp-guard enable   arp-guard rate-limit per-src-ip 16   arp-guard rate-limit per-src-mac 16   …   同样行数非常多,每行头尾有很多多余的空白需删除,手工不适合,用word替换也不行,因为行中间还有有意义的空格,用Vim如下处理:   :g/^\s*/s/// # 删除行首杂乱空白   :g/\s*$/s/// # 删除行尾杂乱空白   注意第5段替换字符串为空,即为删除搜索到的字符串。   例3,有如下脚本:   ap-config 教A-103   ap-mac 5869.6c00.a0a3   ap-group jxl_a_1c   ap-config 教A-108   ap-mac 5869.6c00.a0f3   ap-group jxl_a_1c   ap-config 教A-203   sta-limit 256   ap-group jxl_a_2c   ap-config 教A-204   …   现在仅需要ap-config起头的行,其余行要全部删除,用Vim如下处理:   :g!/^ap-config/d   第1段g后的!代表要搜索那些非指定搜索字符串所在的行,这样很快删除了那些除ap-config起?^之外的所有行。   例4,有以下防火

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档