linux之sed命令

1 sed命令(stream edit)

我們一般用來替換文件內容

 
2 常用方法

1)、比如一般用sed命令替換文件內容,這里參數(shù)-i的意思是操作后直接保存在file里面去了

sed -i 's/pattern/replace_str/' file

比如我們把sed.txt文件里面的chenyu替換成chen

    cat sed.txt
    chenyu
    chencaifeng
    chenyuan
    chenyu
    chenyu
    chenyu
     
     
    sed -i 's/chenyu/chen/' sed.txt
     
     
    cat sed.txt
    chen
    chencaifeng
    chenan
    chen
    chen
    chen


2)刪除文件的空白行

sed -i '/^$/d' sed1.txt

^¥匹配空白行,d是刪除的意思

    cat sed.txt
    chen
     
    chencaifeng
    chenan
     
    chen
     
    chen
    chen
    sed -i '/^$/d' sed.txt
    cat sed.txt
    chen
    chencaifeng
    chenan
    chen
    chen
    chen


3)替換從匹配的第幾個參數(shù)開始

sed 's/pattern/newPlaceString/2g'

2就是第二個的意思,如果是3的話,就匹配第三個開始

    echo thisthisthisthis | sed 's/this/THIS/2g'
    thisTHISTHISTHIS
    echo thisthisthisthis | sed 's/this/THIS/3g'
    thisthisTHISTHIS

 
4)我們連續(xù)使用sed命令

    echo abc | sed 's/a/A/' | sed 's/c/C/'
    AbC


5)我們一般在腳本里面有變量的話,我們一般使用雙引號

    text=hello
    echo hello world | sed "s/$text/HELLO/"
    HELLO world



 

 
作者:chen.yu
深信服三年半工作經驗,目前就職游戲廠商,希望能和大家交流和學習,
微信公眾號:編程入門到禿頭 或掃描下面二維碼
零基礎入門進階人工智能(鏈接)