sed -e debe usarse en lugar de sed -r, que no existe.
Dylan Daniels
1
@DylanDaniels Según man sedUbuntu, la -ropción significa "usar expresiones regulares extendidas". Entonces, el comando dado funciona bien, aunque no necesita las características de las expresiones regulares extendidas para funcionar.
gbandera para la sustitución global, tampoco necesita la-ropción aquí.Respuestas:
Debe agregar el
gmodificador para que sed realice una sustitución global del contenido del búfer de patrón:Para obtener una documentación fantástica sobre sed, consulte http://www.grymoire.com/Unix/Sed.html . Esta bandera global se explica aquí: http://www.grymoire.com/Unix/Sed.html#uh-6
La documentación oficial de
GNU sedestá disponible en http://www.gnu.org/software/sed/manual/fuente
sed -E 's,foo,bar,g'no hace lo global. Si lo cambiased -E -e 's,foo,bar,g', funciona.Tienes que poner un
gal final, significa "global":fuente
man sedUbuntu, la-ropción significa "usar expresiones regulares extendidas". Entonces, el comando dado funciona bien, aunque no necesita las características de las expresiones regulares extendidas para funcionar.