Shell之sed命令

來源:互聯網
上載者:User

標籤:

  sed用於一次性處理所有的編輯任務,尤為高效,為使用者節省了大量的時間,sed適用於以下三種場合:

 1、編輯相對互動文字編輯器而言太大的檔案;

  2、編輯命令太複雜,在互動式文字編輯器中難以輸入的情況;

  3、對檔案掃描一遍,但是需要執行多個編輯函數的情況;

  sed 只是對緩衝區中原始檔案的副本進行編輯,並不編輯原始的檔案。因此,如果需要儲存改動內容,需要將輸出重新導向到另一個檔案,可以使用下面格式的命令:

    sed  ‘sed命令‘  input_file > result_file

 該命令將sed 命令對input-file的更改儲存到result-file中,“>”符號是重新導向符號;

 調用sed的三種方式:

    1、在shell中直接調用sed,格式為:sed  [選項]  ‘sed命令‘   輸入檔案  //必須用單引號引起sed命令

    2、將sed命令插入指令檔後,然後通過sed命令調用它,格式為:

        sed   [選項]   -f    sed指令碼   輸入檔案

    3、直接執行sed指令碼,格式為:

         ./sed 指令檔  輸入檔案

  sed命令標識對文本進行如何處理。如列印、刪除、追加、插入、替換等

sed命令定位文本的方法:

  sed   -n  ‘1p‘  input    //僅僅列印input的第一行; 若不帶-n選項,則不僅僅列印第1行,還會列印input的全部內容;

  sed   -n  ‘3, 6p‘  input     //僅僅列印第3-6行

  使用/pattern/方法進行模式比對

    sed  -n  ‘/Certificate/p‘  input    //列印匹配Certificate的行,大小寫敏感

    sed  -n  /Certificate/,  6p‘ input    //列印匹配Certificate的行 到 6 之間的行  

   sed編輯命令 a\ 符號用於追加文本,它可以將指定文本的一行或多行追加到指定行後面。如果不指定文本追加位置,sed預設放置到每一行的後面,追加文本的格式為:

     sed  ‘指定地址a\text‘  輸入檔案

    註:指定地址以匹配模式/pattern/或行號的形式給出,用於定位新文本的追加位置,sed對\a後的文本進行追加操作(增加新的一行);

    特別注意:sed完成追加文本功能後,只是將結果輸出到標準輸出,原始檔案並沒有做任何改變;

1 /bin/sed   -f          #必須加上-f選項, 若無此選項,指令碼執行報錯2 /test/a\                #a\表示在test所在的行之後添加文本3 4 #新增內容5 We append a new line . \    #"\”符號表示換行6 We append  another line.

  "$"符號,在Regex中表示行尾,特別注意的是,在sed中, "$"表示最後一行;

  sed  -n  ‘2, 10!p‘  input  //表示列印出非2--10行的行;

  插入文本:sed   ‘指定地址i\text‘   輸入檔案  //與“a\”剛好相反,在指定位置所在行之前行拆入text; (text是新的一行)

    

 

  

 

 

 

    

Shell之sed命令

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.