shell 編程四劍客之SED

(1)  SED 作用

   sed  是一個非交互式的文本編輯器, 對比Vi(vim) 是一個交互式的編輯器


(2) SED 語法

   sed  [-option]   [command]   files

 註釋:

             sed 工具默認處理文本,文本內容輸出屏幕已經修改,但是文件內容其實沒有修改, 需要加i 參數徹底修改


(3) SED實戰


  SED 實戰替換文本

   <1> jfedu.txt文件中,將文件中所有的old,替換爲new

     sed    's/old/new/g'  jfedu.txt

   

   <2> jfedu.txt文件中,將http://www.jd.com替換爲 http://www.baidu.com  

     sed  's#http://www.jd.com#http://www.baidu.com#g'   jfedu.txt

 

 SED 實戰打印文本

 <1>  jfedu.txt文件中,打印第一行

     sed  -n  '1p'  jfedu.txt 

   

  <2> jfedu.txt文件中,打印1到3行

      sed   -n   '1,3p'  jfedu.txt


   <3> jfedu.txt文件中,打印最後一行

       sed   -n  '$p'   jfedu.txt

      

    <4> jfedu.txt文件中,打印第一行與最後一行

        sed   -n  '1p;$p'   jfedu.txt


     <5> jfedu.txt 文件中,打印第一行到最後一行

         sed   -n   '1,$p'  jfedu.txt


      <6> jfedu.txt文件中,打印/linux/這一行

        sed  -n  '/linux/p'  jfedu.txt  


       <7> jfedu.txt文件中,打印第一行與最後一行(用-e這個擴展參數實現)

         sed  -n   '1p'  -e  '$p'   jfedu.txt

        

        <8> jfedu.txt文件中,匹配/linux/這一行和/test/這一行,打印出來

          sed  -n  '/linux/,/test/p'  jfedu.txt


         <9> jfedu.txt文件中,匹配/linux/這一行到最後一行,打印出來

          sed  -n  '/linux/,$p'   jfedu.txt


  SED實戰刪除文本

     <1>  jfedu.txt文件中,刪除第一行到第3行

         sed    '1,3d'  jfedu.txt


     <2> jfedu.txt文件中,刪除linux匹配行到最後一行

         sed  '/linux/,$d'  jfedu.txt


 SED實戰插入文本

    <1> jfedu.txt文件中,查找/linux/這一行,並在下一行添加word字符

       sed  '/linux/aword'  jfedu.txt


     <2> jfedu.txt文件中,  查找/linux/這一行,並在上一行添加word字符

       sed   '/linux/iword'  jfedu.txt


      <3> jfedu.txt文件中,  查找/linux/這一行,在上一行添加word字符,在下一行添加word字符

       sed  -e '/linux/aword'  -e  '/linux/iword/'  jfedu.txt


      <4> jfedu.txt文件中,查找以test結尾的行,並在其行尾添加word字符

        sed   's/test$/&word/g'  jfedu.txt


      <5> jfedu.txt文件中, 查找/www/所在行,在其行行首添加word字符

        sed   'www/s/^/&word/g'  jfedu.txt


       <6> jfedu.txt文件中,查找以com結尾的行,在行尾添加.  查找/mpt/所在行,在其行首添加.

         sed -e  's/com$/&./g'  -e  '/mpt/s/^/&./g'   jfedu.txt


        <7> 用sed打印根

          sed -n 's/\//p'


        <8> sed 讀取變量,並進行替換

           website=www.jfedu.net

           sed  ''s/www.jd.com/$website/g''  jfedu.net


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章