同时制造多个取代基

问题描述 投票:0回答:1

我正在尝试使用sed在一个文件中进行更改,但是我希望同时完成它们。对于此文件,我需要将“ o”更改为“ oh”,同时将“ oh”更改为“ o”。但是,如果没有同时完成,那么我只会以“ o”结尾。

现在我尝试了:sed -e 's/oh/o/g; s/o/oh/g;' file

但是我最终在文件中只包含“ o”。

如何让我同时执行此操作?

regex linux sed command substitution
1个回答
0
投票

[您可以在此处使用一个简单的技巧:(尝试用临时字符串替换oh,一旦再次完成o的替换,就用#temp#文本替换为o)]

sed -e 's/oh/#temp#/g; s/o/oh/g; s/#temp#/o/g'  Input_file
© www.soinside.com 2019 - 2024. All rights reserved.