unix sed – ¿Hay versiones estándar de `sed` en las que` -E` no es compatible?

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.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım