Skip to main content

Perform a case-insensitive search using sed.

# UNIX / Linux: sed Case Insensitive Search
# http://www.cyberciti.biz/faq/unixlinux-sed-case-insensitive-search-replace-matching/

# Q. How do I perform a case-insensitive search using sed under UNIX / Linux?
# I'd like to match all combination of word - foo, FOO, FoO and so on while
# replacing or performing other operations.

# A. GNU sed and other version does support a case-insensitive search using
# I flag after /regex/.

# To perform a case-insensitive search, enter:

cat file.txt | sed -e 's/find-word/replace-word/gI'
cat file.txt | sed -e 's/find-word/replace-word/gI' > output.txt
sed 's/find-word/replace-word/gI' input.txt > output.txt

# If you are using older sed version try,
sed 's/[wW][oO][rR][dD]/replace-word/g' input.txt > output.txt

# It is easy to match first few characters, for example match both
# Linux and linux word:
sed 's/[Ll]inux/Unix/g' input.txt > output.txt