Use sed with ignore case while adding text before some pattern

后端 未结 6 1217
名媛妹妹
名媛妹妹 2020-12-06 17:26
sed -i \'/first/i This line to be added\' 

In this case,how to ignore case while searching for pattern =first

6条回答
  •  太阳男子
    2020-12-06 17:40

    You can use the following:

    sed 's/[Ff][Ii][Rr][Ss][Tt]/last/g' file
    

    Otherwise, you have the /I and n/i flags:

    sed 's/first/last/Ig' file
    

    From man sed:

    I

    i

    The I modifier to regular-expression matching is a GNU extension which makes sed match regexp in a case-insensitive manner.

    Test

    $ cat file
    first
    FiRst
    FIRST
    fir3st
    $ sed 's/[Ff][Ii][Rr][Ss][Tt]/last/g' file
    last
    last
    last
    fir3st
    $ sed 's/first/last/Ig' file
    last
    last
    last
    fir3st
    

提交回复
热议问题