亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Vim在網(wǎng)絡維護工作中的應用

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

        董洪蒙

        Vim是Linux上著名的文本編輯器,他是早年的Vi編輯器的加強版。gVim是Vim的圖形前端,它是跨平臺的編輯器,基本上主流的操作系統(tǒng)上面都有它的版本。這個極具Unix特色和風格的編輯器功能十分強大,在實際工作中,尤其是批量文本處理上有著令人倍感方便快捷的特性。

        Vim的具體編輯操作功能這里不做詳述,筆者主要針對其強大的正則替換功能加以解析,如果運用得當,將會在大批量文本處理時事半功倍,極大提高處理效率,這樣對程序員或網(wǎng)絡管理員而言,將會得到一件得心應手的利器,在實際工作中有著非常重要的意義。下文講述以gVim for windows作為使用環(huán)境。

        在非編輯狀態(tài)下,按下英文半角字符冒號即可進入Vim命令模式,正則替換要在此模式下輸入特定指令加以執(zhí)行,如下:

        :g/test string/s//replace test string/g

        可見替換命令由/分隔的6小段組成,說明如下:

        第1段,例中“g”,代表替換范圍為全部行,也可用“101,200”這樣的格式代表特定的行號范圍。

        第2段,例中“test string”,搜索的字符串,可使用正則表達式,詳細的正則表達式這里不做詳述,只做一些常用功能的說明:^代表行首,$代表行尾,.代表任意字符,\s代表空白(空白包括空格、TAB)字符,\w代表字母字符,\d代表若干數(shù)字字符,.、\s、\w、\d的后面跟\+代表1或多個字符,跟*代表0或多字符(貪婪模式),跟\{-}代表非貪婪模式的*。另外在正則中還可以用\(\)進行分組。

        第3段,例中“s”,代表要替換,需后續(xù)段指明如何替換,如果不包含第3段及以后的段,就代表搜索指令,如果第3段為d,則為刪除,無需后續(xù)段。

        第4段,例中為空,如果找到搜索串行后,要替換的不是搜索串,而是其它字符串,可在這里指定,一般除特殊情況不做指定。

        第5段,例中“replace string”要替換的字符串,為空代表刪除,可以使用第2段中的分組編號\1,\2等,代表從搜索串中取特定組的字符串,組合到替換字符串中,最后用作替換的串。

        第6段,例中“g”,代表找到搜索字符串所在行后,全行搜索進行替換,如不加,則代表僅對本行進行一次搜索替換。

        下面試舉幾例,對其進行說明。

        例1,如下交換機配置vlan腳本:

        vlan 1

        vlan 2

        vlan 3

        實際工作中,vlan可能很多,有上千個,現(xiàn)在要在每個vlan前加個no,如果每行手工粘貼是不現(xiàn)實的,在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

        同樣行數(shù)非常多,每行頭尾有很多多余的空白需刪除,手工不適合,用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

        現(xiàn)在僅需要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

        ...

        如何將其變?yōu)槿缦滦问剑?/p>

        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

        前后數(shù)字對調,這項具一定難度的操作,用Vim一樣很容易完成:

        :g/\(\d\+\)\(.\{-}\)\(\d\+\)/s//\3\2\1/

        這里用到\1,\2,\3搜索分組替換,并且用.\{-}代表非貪婪的.*任意字符搜索方式。

        綜上,限于篇幅,這里雖然舉的例子都經(jīng)過簡化,實際工作中,要比上述更復雜,且都很龐大,當處理幾十行的文本,與處理上萬行的文本相比較時,就更能體會的Vim正則替換的強大之處,極端情況下,它能幫助我們提高上百倍的工作效率,并非枉談。

        久久精品性无码一区二区爱爱| 日本熟日本熟妇中文在线观看 | 最近最新中文字幕| 国产欧美日韩午夜在线观看 | 精品久久亚洲中文字幕| 日本入室强伦姧bd在线观看| 伊人久久网国产伊人| 亚洲精品国产熟女久久| 日本成年一区久久综合| 国产特级毛片aaaaaa视频| 亚洲综合无码一区二区| 国产精品国产三级国产AvkTV | 91精品啪在线观九色| 女人和拘做受全程看视频| 久久青青热| 免费的黄网站精品久久| 日韩女同精品av在线观看| 亚洲国产成人片在线观看无码| 日韩免费一区二区三区在线| 国产一级r片内射视频播放| 中文字幕人成人乱码亚洲av| 久久久久女人精品毛片 | 国产91精品丝袜美腿在线| 青青草在线免费播放视频| 亚洲av午夜国产精品无码中文字| 亚洲综合色一区二区三区小说| 亚洲午夜精品国产一区二区三区| 日本av一区二区三区视频| 国产精品无码av天天爽| 国产精品 精品国内自产拍| 麻豆视频黄片在线免费观看| 亚洲av网一区二区三区| 精品久久久久久久久久久aⅴ| av蜜桃视频在线观看| 国产亚洲自拍日本亚洲| 国产尤物精品福利视频| 久久99精品久久久66| 精品人妻码一区二区三区红楼视频| 久热re这里精品视频在线6| 久久网视频中文字幕综合| 俺来也三区四区高清视频在线观看|