sed whole word search and replace

sed, shell

Solution

\b in regular expressions match word boundaries (i.e. the location between the first word character and non-word character):

$ echo "bar embarassment" | sed "s/\bbar\b/no bar/g"
no bar embarassment

Problem

How do I search and replace whole words using sed? Doing ``` sed -i 's/[oldtext]/[newtext]/g' <file> ``` will also replace partial matches of `[oldtext]` which I don't want it to do.

Original source

Related problems