Caso
Estou tentando substituir todas as ocorrências de <value>*</value>
em <value>file:\</value>
em um arquivo designado test.txt
.
Eu trabalho no Windows e uso o sed
que eu instalei com o conjunto compilado do Win-32 de bash utils.
Eu uso o seguinte comando:
sed -n "s/<value>.*<\/value>/<value>file:\\<\/value>/g" "test.txt" > "test.txt.new"
Eu quero executar este comando como parte do script Wpkg .
Problema
Quando eu uso este comando da linha de comando, tudo funciona corretamente.
Mas quando eu uso este comando pelo script Wpkg :
<install cmd='%BASH%\sed -n "s/<value>.*<\/value>/<value>file:\\<\/value>/g;" test.txt" > "test.txt new"' />
... então o que eu obtenho é:
Exit code returned non-successful value (2) on command '%BASH%\sed -n "s/<value>
.*<\/value>/<value>file:\\<\/value>/g;" "test.txt" > "test.txt.new"'.
O acima indica que sed
application retornou o código de saída 2. Além disso, o novo arquivo não foi criado.
Eu naveguei no google por um tempo muito longo e, para minha surpresa, sed
parece ter uma documentação muito ruim. Não encontrei documentação sobre este código de saída.
Pergunta
Alguém tem uma pista do que o código de saída 2 significa sed
?
... ou uma solução alternativa?
(deve ser autônoma, com certeza pode usar ferramentas bash comuns)