- há um
-e
ausente antes de s / foo / bar / (*) -
há uma confusão, você está (o script) editando
index
ouwww/index.js
?se
index
for um arquivo de modelo (com API_CONTEXT_URL) a ser usado para produzirwww/index.js
, sugirosed -e s,API_CONTEXT_URL,http://localhost:5557,g index > www/index.js
note que você pode usar qualquer chat um separador entre substituto, eu uso vírgula (,) para evitar fugir muito.
Se o arquivo a ser editado for
www/index.js
, usesed -i -e s,API_CONTEXT_URL,http://localhost:5557,g www/index.js
onde
-
-i
flag tell sed para editar o arquivo no lugar.
-
EDITAR:
graças a User112638726 e don_crissti, o erro é bastante óbvio
sed -i index 's/API_CONTEXT_URI/http:\/\/localhost:5557/g' www/index.js
será interpretado por sed como
-
-i
editar no lugar, -
index
que éi
(insira)ndex
, - para os dois arquivos:
-
's/API_CONTEXT_URI/http:\/\/localhost:5557/g'
ewww/index.js
.
Suponho que não exista nenhum arquivo chamado s/API_CONTEXT_URI/http:\/\/localhost:5557/g
, que é um arquivo g
no diretório http:\/\/localhost:5557
no diretório API_CONTEXT_URI
no diretório s
no diretório atual.
Eu sempre uso -e command
, apenas no caso de eu precisar colocar dois, descubro que o sed pode lidar com (hoje em dia) um único comando, não sei se era o caso nos velhos tempos.