Site TIPS PAGE🔎   UP ONE LEVEL
 OJB's Site. v2.4.L: tip207 tips mac owen2 
Tip

Discuss   Up to OJB's Mac Tips List

Unix Search and Replace

To Search and Replace from the Command Line

Use "sed", the stream editor. You can use | (pipe) to send standard streams (STDIN and STDOUT specifically) through sed and alter them on the fly. To edit files directly, use the -i (in place) parameter.

sed -i "" -e 's/SEARCH/REPLACE/g' FILE

Where:
SEARCH is what to search for.
REPLACE is what to replace it with.
FILE is the path to the file to be processed.
s indicates the search terms.
g sets search to global (all instances on each line, not just the first).
-i specifies search the file "in place", otherwise uses standard input and output.
-e precedes each search specification; multiple can be used (see below).

Note 1: "" indicates don't add anything to the filename of the output file (just replace the existing file). This seems to be different in different shells, so YMMV.

Note 2: Any character (except "\" and "\n") can be used as the separator ("/" in the example above). Alternatively, use the escape character ("\") to escape "/" in the search or replace strings.

Note 3: the search string can be a regular expression.

Multiple Search and Replace

Use multiple search and replace string, each preceded by "-e":
sed -i "" -e 's/SEARCH1/REPLACE1/g' -e 's/SEARCH2/REPLACE2/g' FILE

Case Insensitive Search

Use the "I" option at the end of the strings:
sed -i "" -e 's/SEARCH/REPLACE/gI' FILE





My latest blog post: Think for Yourself: In the end, everything is just an opinion. Be skeptical, and think for yourself! (posted 2026-04-25).

My latest podcast: OJB's Podcast 2026-04-14 How Far is that Star?

If you're not sure what to view from my site, here are some suggestions: My Latest Airshow Report, My Favourite Wines and Beers, An Interesting Astronomical Observation, See Some Photos, Read Some Mac Tips.


Site News (Mobile): OJB's web site, v 2.4 which has major changes, and possibly errors! Please report anything to ojb@mac.com.