不能使用sed -i命令使用sed替换

时间:2018-10-08 09:13:42

标签: linux reactjs sed

我正在尝试使用sed进行以下操作

 cp src/config/template.js src/config/index.js

export API_GATEWAY_ENDPOINT="http://localhost:9000/"

sed -i "" "s|{{API_GATEWAY_ENDPOINT}}|$API_GATEWAY_ENDPOINT|g" src/config/index.js

但是当我运行此脚本时,我得到了这个错误,

sed: can't read s|{{API_GATEWAY_ENDPOINT}}|http://localhost:9000/|g: No such file or directory

我正在使用Linux计算机。

能告诉我为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

sed的第一个参数应该是脚本。因此,当您有多余的""时,第二个参数将被解释为文件名。

您无需复制文件,然后进行就地替换。而是使用>运算符将输出从sed重定向到正确的文件。

>src/config/index.js <src/config/template.js sed "s|{{API_GATEWAY_ENDPOINT}}|$API_GATEWAY_ENDPOINT|g"