Caso
Estoy tratando de reemplazar todas las ocurrencias <value>*</value>
en <value>file:\\</value>
un archivo designado test.txt
.
Trabajo en Windows y uso sed
que he instalado con el conjunto compilado Win-32 de bash utils.
Yo uso un siguiente comando:
sed -n "s/<value>.*<\/value>/<value>file:\\\\<\/value>/g" "test.txt" > "test.txt.new"
Quiero ejecutar este comando como parte del script Wpkg .
Problema
Cuando uso este comando desde la línea de comandos, todo funciona correctamente.
Pero cuando uso este comando a través del script Wpkg :
<install cmd='%BASH%\sed -n "s/<value>.*<\/value>/<value>file:\\\\<\/value>/g;" test.txt" > "test.txt new"' />
... entonces lo que obtengo es:
Exit code returned non-successful value (2) on command '%BASH%\sed -n "s/<value>
.*<\/value>/<value>file:\\\\<\/value>/g;" "test.txt" > "test.txt.new"'.
Lo anterior significa que la sed
aplicación devolvió el código de salida 2. Además, el nuevo archivo no se ha creado.
Navegué en Google durante mucho tiempo y, para mi sorpresa, sed
parece tener una documentación bastante pobre. No he encontrado documentación sobre este código de salida.
Pregunta
Alguien tiene una idea de lo que hace el código de salida 2 significar para sed
?
... o una solución alternativa?
(debe estar desatendido, bastante seguro de que podría usar herramientas bash comunes)
¿Sed emite un código de salida?
Fuente LAS PREGUNTAS MÁS FRECUENTES DE SED :
fuente