ksuralta ksuralta - 15 days ago 5
Bash Question

sed whole word search and replace

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.

Answer

\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
Comments