1. 程式人生 > >Linux學習-10月17(sed)

Linux學習-10月17(sed)

9.4/9.5 sed

 

一、sed命令

    sed命令主要用於刪除、查詢替換

  • sed的用法:

        sed命令模式:sed [option] 'sed命令' filename

        sed指令碼模式:sed [option] 'sed script' filename

  • sed選項:

    -n:只打印匹配到行

    -e:直接在命令列進行編輯,此為預設的選項

    -f: 執行指定指令碼中的script語句

    -i:直接修改檔案中的內容

 

  • sed動作說明

        a:a的後面可以是字串,這些字串會新增到下一行(目前的下一行)

        c:取代,c的後面可以是字串,這些字串可以取代n1,n2之間的行

        d:刪除

        i:插入,i的後面可以是字串,這些字串會在新的一行出現(目前的上一行)

        p:列印,通常p和 -n一起使用

        s:替換,進行替換,通常s是搭配正則,例如:s/oo/tt/g(把oo替換為tt)

    sed操作示例:

  • 使用sed進行匹配

        

  • sed不區分大小寫匹配

        

  • sed -n '1,30'd :刪除1-30(並不會操作檔案)

        

  • sed '1,2'c'111':把第一二行替換為‘111’

       

  •   head -n 5 passwd |sed -r 's/([^:]+):(.*):([^:]+)/\3\2:\1/'

           把passwd文字中的前五行,以:為分割把第一行和最後一行進行替換。\1表示第一個()內容,\2表示第二個()內容,\3表示第三個內容

            

  • sed ‘3’i‘333’ 在第三行插入‘333’

         

  • sed '1'a'12313' 在第一行的下面插入一行

          

  • sed 's/root/rxxxt/g' 全域性替換把root 替換為 rxxxt