sed命令基礎用法

來源:互聯網
上載者:User

標籤:sed

    sed(Stream EDitor)簡介

        sed是一個流編輯器編輯器,本身是一個管道命令,主要以行為單位處理文字檔,可以將資料進行替換、刪除、新增、選取等特定工作;sed並不會處理文字檔本身,而是每當處理一個檔案時,按順序逐行讀取到模式空間(記憶體)中,而後在模式空間中完成編輯,把編輯的結果輸出到螢幕上,接著處理下一行,反覆操作,直到檔案結尾。

        模式空間:將讀取的內容放在記憶體中的一塊地區編輯,這些記憶體空間就稱為模式空間

        格式:

            sed [options]    ‘Address Command‘    FILE...

        常用選項:

            -i:直接修改源檔案(慎用)

            -r:使用擴充Regex,預設是基本Regex

            -n:靜默顯示,預設sed會將STDIN的資料列出到螢幕上,使用-n後,則只有經過處理的行才會被顯示出來

            -e:同時執行多條命令;-e ‘command‘ -e ‘command‘

            -f:指定一個sed指令檔;-f FILENAME

        地址定界:

            1、Startline,Endline:要處理的起始行到結束行

                $:表示最後一行

            2、/REGEX/:使用Regex匹配

            3、/pattern1/,/pattern2/:第一次被pattern匹配到的行至第二次被pattern匹配到的行

            4、Line Number:指定的行

            5、Startline +#:從Startline開始,向後的#行

        常用命令:

            d:刪除合格行

            p:顯示合格行

            a:在指定的行後面追加新行

                a \String:String為新行的內容

                \n:可以換行

            i:在指定的行前面追加新行;i \String

            r:將指定檔案的內容添加到符合行的後面;r FILENAME

            w:將指定位址範圍內的行另存新檔指定的檔案中;w FILENAME

            s:尋找並替換,預設之替換每行中第一次被匹配到的字串

                s/pattern/string/(///可以使用其他符號代替,###、@@@...)

                g:代表全域替換;s/prttern/string/g

                i:不區分大小寫

                &:可以使用後向引用,參考模式匹配到的整個字串

本文出自 “杆兒男” 部落格,請務必保留此出處http://wtime.blog.51cto.com/8829658/1537215

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.