Pregunta:
En BSD sed, -E
es el indicador de "expresión regular extendida". En GNU sed, la documentación indica que -r
es el indicador de expresiones regulares extendido, pero el interruptor -E
funciona (aunque no está documentado en mi investigación).
Recuerdo haber leído en algún lugar que -E
se especificará en la próxima edición de las especificaciones POSIX, pero no puedo encontrar dónde lo leo.
(¿Es eso cierto? ¿Hay una referencia autorizada para eso, o un usuario aquí que es una autoridad?)
¿Qué tan portátil es el interruptor -E
para sed
?
¿Hay versiones estándar (es decir, compatibles con POSIX) de sed
en las que -E
no es compatible? (¿Cuáles?)
¿Por qué el indicador -E
no está documentado para GNU sed?
Respuesta:
GNU primero agregó soporte no documentado para -E
solo para ser compatible con la sintaxis BSD, y la fuente incluyó el comentario
/ * Sin documentar, para compatibilidad con BSD sed. * /
Pero en 2013 eso se eliminó en esta confirmación con el mensaje de registro
Modifique la documentación para que tenga en cuenta la opción sed "-E", ahora en POSIX, para ERE.
y la confirmación hace referencia a un rastreador de defectos para POSIX en esta página que marca como aceptado agregando el indicador -E
a los argumentos sed
Sin embargo, no parece haber llegado a la última especificación POSIX ( parte específica de sed ), pero supongo que está por llegar.