sed基本使用


1. 刪除由空格組成的空白行
    sed '/^ *$/d' test.txt     sed '/[ ][ ]/d' test.txt 
2. 刪除空白行
    sed '/^[[:space:]]*$/d' test.txt
3. 刪除空格開頭的行
    sed '/^ /d' test.txt
4. 刪除制表符(tab)的空白行
    sed '/\t/d' test.txt

  

                         

5. 刪除字母開頭的行
    sed '/^[a-Z]/d' test.txt
6. 刪除以注釋行
    sed '/^#/d' test.txt
7. 刪除指定行
    sed '2d' test.txt
8. 刪除多行
    sed '1,3d' test.txt    ---刪除1到3行
    sed '3,$d' test.txt    ---刪除第三行到最后一行

9. 打印
    sed '2p' test.txt        ---打印第2行
    sed -n '2p' test.txt    ---打印第2行,不顯示文件內容
    sed -n '2,5p' test.txt  ---打印2-5行

10. 替換
    sed 's/4/8/'  test.txt   ---4替換8,每行第一個4替換為8
    sed 's/4/8/'  test.txt   ---將每行所有的4替換為8
    sed '/asf21/s/e/8/' test.txt  ---先查看asf21再講e替換為8
    sed -e '1d' -e 's/asf/21/g' test.txt  ---多重編輯,先刪除第一行,再替換asf為21
    sed '/asf/c 123' test.txt    ---查找asf的行全部覆蓋為123

11. 插入
    sed '/sad/a 123' test.txt    ---在sad后面插入一行123
    sed '/sad/i 123' test.txt     ---在sad前面插入一行123

12. 退出
    sed '8q' test.txt   ---打印前8行后退出
    
13. 抓取ip地址
    ifconfig ens33 | sed '/.*inet /!d;s///;s/ .*//'
    .*inet: .表示任意字符,*任意多個前導字符
            inet 192.168.163.130  netmask 255.255.255.0  broadcast 192.168.163.255
    s///:前面//不適用配置規則,則使用上一步的匹配結果
           后//匹配為空字符串刪除
    192.168.163.130  netmask 255.255.255.0  broadcast 192.168.163.255
    s/ .*//:將1個空格和后面的任意字符串刪除
    192.168.163.130

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM