Skip to content
Advertisement

Use sed with ignore case while adding text before some pattern

sed -i '/first/i This line to be added' 

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

Advertisement

Answer

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
User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement