Sed - Multiple search and replace in one line


Posted by on August 9, 2018

If you want to do multiple search and replace in one line, you can use ‘|’ to do that.

For example:

ooo xxx ooo xxx ooo xxx

:s/xxx/yyy/g | s/ooo/ppp/g

Result:

ppp yyy ppp yyy ppp yyy

But if search fail, it will cause the rest search and replace stopped.

For example:

ooo xxx ooo xxx ooo xxx

:s/yyy/xxx/g | s/ooo/ppp/g

Result:

E486: Pattern not found: yyy
In this case, You can use ‘e’ flag to bypass search fail.

For example:

ooo xxx ooo xxx ooo xxx

:s/yyy/xxx/ge | s/ooo/ppp/ge

Result:

ppp xxx ppp xxx ppp xxx
本站總訪問量訪客