999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Vim在網絡維護工作中的應用

2017-10-17 02:31:11董洪蒙
科學與財富 2017年27期

董洪蒙

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正則替換的強大之處,極端情況下,它能幫助我們提高上百倍的工作效率,并非枉談。

主站蜘蛛池模板: 亚洲视频黄| 国模沟沟一区二区三区| 综合色区亚洲熟妇在线| 亚洲无线视频| 亚洲欧州色色免费AV| 精品人妻系列无码专区久久| 日本人又色又爽的视频| 中日无码在线观看| 亚洲视频一区在线| 欧美激情视频一区| 大香伊人久久| 国产成人精品男人的天堂下载| 国产91精选在线观看| 欧美在线视频a| 亚洲国产日韩在线成人蜜芽| 中国毛片网| 亚洲伊人天堂| 亚洲第一网站男人都懂| 一级在线毛片| 国内毛片视频| 欧美日韩精品一区二区在线线| 91亚洲视频下载| 日本成人在线不卡视频| 99热最新网址| 99资源在线| 欧美成人看片一区二区三区 | 无码'专区第一页| 亚洲品质国产精品无码| 伊人精品视频免费在线| 香蕉久人久人青草青草| 免费a级毛片视频| 91色国产在线| 精品国产美女福到在线不卡f| 国产综合在线观看视频| 国产玖玖玖精品视频| 91人人妻人人做人人爽男同| 亚洲一区二区视频在线观看| 一级毛片免费观看久| 国产区在线观看视频| 2021天堂在线亚洲精品专区| 91无码视频在线观看| 欧美视频在线播放观看免费福利资源| 日本伊人色综合网| 久久综合丝袜长腿丝袜| 国产剧情一区二区| 亚洲精品天堂自在久久77| 广东一级毛片| 片在线无码观看| 第九色区aⅴ天堂久久香| 99热这里只有精品在线播放| 亚洲中文字幕23页在线| AV网站中文| 超碰免费91| 国产欧美另类| 在线播放91| 热思思久久免费视频| 国产欧美精品一区二区| 欧美天堂在线| 色偷偷综合网| 欧美日韩国产在线观看一区二区三区| 日韩无码视频网站| 免费Aⅴ片在线观看蜜芽Tⅴ | 97国内精品久久久久不卡| 无码专区第一页| 操国产美女| 5555国产在线观看| 亚洲综合经典在线一区二区| 亚洲成人福利网站| 日日摸夜夜爽无码| 伊人久久福利中文字幕| 亚洲综合二区| 成年免费在线观看| 免费在线a视频| 中文字幕亚洲电影| 亚洲婷婷丁香| 在线免费观看a视频| 亚洲91精品视频| 亚洲综合一区国产精品| 午夜天堂视频| 国产网站免费观看| 亚洲综合日韩精品| 91精品国产91久久久久久三级|