亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

sed 教程

sed 是一個(gè)比較古老的,功能十分強(qiáng)大的用于文本處理的流編輯器,加上正則表達(dá)式的支持,可以進(jìn)行大量的復(fù)雜的文本編輯操作。sed 本身是一個(gè)非常復(fù)雜的工具,有專門(mén)的書(shū)籍講解 sed 的具體用法 。

sed 的教程對(duì) sed 的常見(jiàn)的用法進(jìn)行系統(tǒng)的總結(jié),內(nèi)容基本覆蓋了 sed 的大部分的知識(shí)點(diǎn)。文中的內(nèi)容比較簡(jiǎn)練,加以實(shí)際示例來(lái)幫助去理解 sed 的使用。


sed介紹

    sed 全名為 stream editor,流編輯器,用程序的方式來(lái)編輯文本,功能相當(dāng)?shù)膹?qiáng)大。是貝爾實(shí)驗(yàn)室的 Lee E.McMahon 在 1973 年到 1974 年之間開(kāi)發(fā)完成,目前可以在大多數(shù)操作系統(tǒng)中使用,sed 的出現(xiàn)作為 grep 的繼任者。與vim等編輯器不同,sed 是一種非交互式編輯器(即用戶不必參與編輯過(guò)程),它使用預(yù)先設(shè)定好的編輯指令對(duì)輸入的文本進(jìn)行編輯,完成之后再輸出編輯結(jié)構(gòu)。sed 基本上就是在玩正則模式匹配,所以,玩sed的人,正則表達(dá)式一般都比較強(qiáng)。

sed工作原理

    sed會(huì)一次處理一行內(nèi)容。處理時(shí),把當(dāng)前處理的行存儲(chǔ)在臨時(shí)緩沖區(qū)中,成為"模式空間",接著用sed命令處理緩沖區(qū)中的內(nèi)容,處理完成后,把緩沖區(qū)的內(nèi)容送往屏幕。接著處理下一行,這樣不斷重復(fù),直到文件末尾。文件內(nèi)容并沒(méi)有改變,除非你使用重定向存儲(chǔ)輸出。

正則表達(dá)式概念

    在編寫(xiě)處理字符串的程序或網(wǎng)頁(yè)時(shí),經(jīng)常會(huì)有查找符合某些復(fù)雜規(guī)則的字符串的需要。正則表達(dá)式就是用于描述這些規(guī)則的工具,換句話說(shuō),正則表達(dá)式就是記錄文本規(guī)則的代碼。許多程序設(shè)計(jì)語(yǔ)言都支持利用正則表達(dá)式進(jìn)行字符串操作。在很多文本編輯器里,正則表達(dá)式通常被用來(lái)檢索、替換那些符合某個(gè)模式的文本。

正則表達(dá)式的匹配過(guò)程

    簡(jiǎn)單描述一下正則表達(dá)式的匹配過(guò)程,就是拿正則表達(dá)式所表示的字符串去和原文字符串內(nèi)容去匹配,直到匹配到原文內(nèi)容字符串中的一個(gè)完整子串就表示匹配成功。舉個(gè)例子,有一行文件內(nèi)容"this is better desk",這里用"esk"去匹配,匹配過(guò)程是這樣的:首先拿e去匹配文件行內(nèi)容,從this開(kāi)始,直到better的e,第一個(gè)字符匹配成功,接著s去匹配better字符e后邊的t字符,沒(méi)有匹配成功;然后重新拿esk中的e去和better的第二個(gè)t去匹配,沒(méi)有成功,接著原始內(nèi)容的下一個(gè)字符,直到desk中的e字符,逐個(gè)匹配s,k字符,到此為止,esk成功匹配,正則表達(dá)式匹配完畢,整個(gè)過(guò)程就是這樣,即使再?gòu)?fù)雜的正則表達(dá)式的匹配過(guò)程也是按照此過(guò)程來(lái)進(jìn)行的。