如何在OSX上使用sed进行多次替换

17 浏览
0 Comments

如何在OSX上使用sed进行多次替换

我正在尝试在OSx终端上完成这个操作\n

 sed -i -e 's/something/somethingelse/g' \
 -e 's/someotherthing/someothertingagain/g' \
 -e 's/multised/isfun/g' \
 file.txt

\n这在Linux上运行良好,但在OSX上不起作用。有没有办法在OSX上使用sed完成这个操作,还是我必须使用其他工具?请帮忙一下 🙂

0
0 Comments

在OSX系统中,使用sed命令进行多次替换时会出现问题。sed命令是一种流编辑器,可以用来对文本进行替换、删除、插入等操作。然而,在OSX系统中,如果不指定扩展名,sed命令无法正常工作,而且还无法覆盖原始文件。为了解决这个问题,我们可以使用sed -i ''命令来覆盖原始文件。

下面是一个示例命令:sed -i '' -e 's/something/somethingelse/g;s/someotherthing/someothertingagain/g;s/multised/isfun/g' file.txt。这个命令将会替换文件file.txt中的多个字符串。其中,s/something/somethingelse/g表示将文件中的"something"替换为"somethingelse";s/someotherthing/someothertingagain/g表示将文件中的"someotherthing"替换为"someothertingagain";s/multised/isfun/g表示将文件中的"multised"替换为"isfun"。通过在每个替换操作之间使用分号分隔,我们可以一次性进行多个替换。

通过使用sed -i ''命令,我们可以在OSX系统中实现多次替换,并且可以覆盖原始文件。这样,我们就可以方便地在文本文件中进行批量替换操作了。

0