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

主站蜘蛛池模板: 国内视频精品| 在线免费不卡视频| 麻豆国产原创视频在线播放| 国产精品网拍在线| 99在线免费播放| 色爽网免费视频| 熟妇无码人妻| 麻豆国产在线观看一区二区| 久久精品中文字幕少妇| 一本大道香蕉高清久久| 人妻熟妇日韩AV在线播放| 人妻中文字幕无码久久一区| 日韩免费毛片| 国产亚洲一区二区三区在线| 国产 在线视频无码| 乱系列中文字幕在线视频 | 狠狠色综合网| 色妞www精品视频一级下载| 国产美女自慰在线观看| 色欲色欲久久综合网| 精品欧美日韩国产日漫一区不卡| 亚洲国产成人超福利久久精品| 午夜天堂视频| 成年人午夜免费视频| 久久精品无码专区免费| 天天做天天爱夜夜爽毛片毛片| 成AV人片一区二区三区久久| 国产导航在线| 亚洲首页国产精品丝袜| 久久久久久久久亚洲精品| 亚洲一区国色天香| 久久久黄色片| 国产在线一区二区视频| 亚洲人成影视在线观看| 欧美α片免费观看| 色悠久久综合| 99视频只有精品| 无码电影在线观看| 亚洲一区毛片| 国产区免费| 91福利一区二区三区| 亚洲国产成人麻豆精品| 毛片视频网| 婷婷六月综合| 在线看免费无码av天堂的| 精品福利网| 东京热高清无码精品| 精品国产免费观看| AV在线麻免费观看网站| 99热这里只有精品国产99| 三上悠亚一区二区| 毛片免费观看视频| 日韩av电影一区二区三区四区 | 国产福利在线免费| 国产亚洲精久久久久久无码AV| 亚洲精品图区| 国产另类视频| 国产成人免费观看在线视频| 久久国产亚洲偷自| 欧美在线中文字幕| 国产亚洲美日韩AV中文字幕无码成人| 国产二级毛片| 色久综合在线| 试看120秒男女啪啪免费| 国产精品所毛片视频| 操美女免费网站| 国产精品成人观看视频国产 | 精品色综合| 亚洲精品无码av中文字幕| 456亚洲人成高清在线| 亚洲色欲色欲www网| 少妇极品熟妇人妻专区视频| 欧美日韩91| 一区二区日韩国产精久久| 日本黄色a视频| 亚洲国产日韩欧美在线| 亚洲男人的天堂视频| 久久综合色天堂av| 69视频国产| 国产精品女熟高潮视频| 欧美一级夜夜爽| 91在线激情在线观看|