Vim在网络维护工作中的应用

来源 :科学与财富 | 被引量 : 0次 | 上传用户:king_wda
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  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,有以下防火墙脚本:
  security-access access_to_2 from zone_16 to default
  security-access access_to_3 from zone_17 to default
  security-access access_to_4 from zone_18 to default
  security-access access_to_5 from zone_19 to default
  ...
  如何将其变为如下形式:
  security-access access_to_16 from zone_2 to default
  security-access access_to_17 from zone_3 to default
  security-access access_to_18 from zone_4 to default
  security-access access_to_19 from zone_5 to default
  …
  前后数字对调,这项具一定难度的操作,用Vim一样很容易完成:
  :g/\(\d\+\)\(.\{-}\)\(\d\+\)/s//\3\2\1/
  这里用到\1,\2,\3搜索分组替换,并且用.\{-}代表非贪婪的.*任意字符搜索方式。
  综上,限于篇幅,这里虽然举的例子都经过简化,实际工作中,要比上述更复杂,且都很庞大,当处理几十行的文本,与处理上万行的文本相比较时,就更能体会的Vim正则替换的强大之处,极端情况下,它能帮助我们提高上百倍的工作效率,并非枉谈。
其他文献
摘要:海绵城市是2012年在《2012低碳城市与区域发展科技论坛》中首次提出的,旨在提升城市生态系统功能和减少城市洪涝灾害的发生。之后,国务院办公厅出台“关于推进海绵城市建设的指导意见”指出,采用渗、滞、蓄、净、用、排等措施,将70%的降雨就地消纳和利用。郑州作为海绵城市的首批试点,已经出台了有关海绵城市建设的一系列措施。本文旨在分析郑州在海绵城市建设中采用的工艺及措施。  关键词:郑州;海绵城市
期刊
摘要:随着社会信息化的不断发展,世界的各个领域都受到一定的影响,使得人们在信息获取方式的意识都发生了明显的改变。图书馆作为整个社会的一个元素,在构建和谐社会中发挥着不可替代的职能作用。当前教育改革、发展的大趋势要求图书馆要进一步提高服务水平。为此,本文从图书馆管理文化的体系出发,分析了、创建和谐图书馆管理文化的意义,最后阐述了构建新形势下和谐图书馆管理文化的建议。  关键词:新形势;图书馆管理;管
期刊
摘要:随着社会经济的迅速发展,各种新型灾害也在不断发生,这对消防车辆的性能要求越来越高。消防车作为一种特种汽车,它是根据消防部队灭火和抢险救援的需要,设计制造成适宜消防队员乘用、装备各类消防器材或灭火剂的车辆。本文针对消防车辆的日常维护保养工作进行探讨,以供相关工作人员参考。  关键词:消防车辆;使用;维护  一、消防车辆维护的重要性  高科技的飞速发展,日新月异的科学技术水平已经运用到各个领域中
期刊
摘要:因国内经济的快速发展,人民的生活水平也在不断提高,对居住环境的要求也越来越高,这就对城市的建设提出了非常严格的标准。目前在国内的每一座城市中都有大量的人口生活在其中,过多的人口也为城市环境带来了一些影响,其中影响最为严重的是城市水污染的问题。城市中人口数量众多,每天城市中所消耗的水资源数量巨大,产生的城市污水也是无法计算,针对城市污水的处理是城市环境建设中的非常重要的一项工作,如果没有环境工
期刊
摘要:现代大型机械设备的使用,一方面提高了作业生产效率,降低了生产成本;另一方面,设备一旦出现故障,对各方面所造成的损失可能会成倍增加,甚至无法预计。因此,为提高机械设备的安全性、可靠性以及作业效率等,发展并应用先进的设备状态监测系统与故障诊断技术对机械设备进行检测与诊断十分必要。本文以大型养路机械捣固车为研究对象,设计了一种捣固车设备状态监测系统。本监测系统能够实时采集捣固车设备状态信息,对设备
期刊
摘要:作为一种新型燃烧方式的循环流化床锅炉,对于劣质煤的燃烧程度有了很大的突破,由此而来也提升了循环流化床锅炉的燃烧效率。本文主要针对300MW循环流化床锅炉物料的失稳问题进行探究,分析了物料失稳的原因,并提出了合理的解决方法,对于物料的节省和燃烧效率的提升有着重要意义。  关键词:循环流化床锅炉物料失稳翻床解决措施  1循环流化床锅炉的特点。  自上个世纪七十年代以来,循环流化床锅炉开始出现在人
期刊
摘要:中东问题从其在国际政治舞台上出现以来就没有消褪过,这其中有很多因素,诸如民族冲突,大国因素,领土争端。而宗教因素也是不可忽略的重要原因,中东问题的历史根源、形成过程以及其一直难以解决都与宗教有着紧密的联系。而作为中东问题核心的巴以冲突可以说是两种民族宗教的矛盾。  关键字:中东地区;宗教;危机  引言:  首先我们需要知道中东指的是什么,“中东” 是指地中海东部与南部区域,从地中海东部到波斯
期刊
摘要:自国内经济的快速发展以来,一些环境污染问题正在逐渐的显现出来,这些环境问题已经开始影响到生态环境的平衡,并且对人类的生存环境产生了威胁。为了解决环境问题而衍生出的环境工程这一學科,便是以保护环境为目的,通过合理科学的方案对环境污染问题进行控制和治理。本文从环境工程项目的特点和所采用的管理模式进行分析,对环境工程进行简单的论述。  关键词:环境工程;项目  一、引言:  环境工程最早的出现实在
期刊
摘要:随着社会和科学技术的发展进步,自动化系统替代传统的变电站二次系统逐渐成为一种趋势,这种新型智能变电站与传统变电站相比,能够保障电网更加可靠稳定的运行。但是在日常使用过程中,仍然存在一定的问题,需要我们加以重视。本文论述了500kV智能变电站二次系统常见问题及解决问题的方法,希望为相关人员提供参考。  关键字:500kV智能变电站;二次系统;问题;处理方法  引言  自动化在500kV变电站的
期刊
摘要:与铁路工程建设项目相比,工务大修项目最为突出的特点是需要在运营线路上进行施工,需要与列车运行进行交叉作业,因此无论是在施工组织上、还是在安全风险防控上,又或是在施工技术标准的采用上,都需要充分考虑列车运行因素的影响,这与其他的铁路工程建设项目具有本质的不同。本文从施工的管理角度,首先介绍了铁路工务大修项目的相关概念、流程和主要工序,并对换轨施工的基本过程、管理重点和主要影响因素进行了分析,本
期刊