Tecnología

Inicio

Las diferencias en las versiones SED

Todas las versiones de Unix y Linux viene con una versión del programa editor de flujo, o SED. Este pequeño programa es capaz de ejecutar las modificaciones programadas en lotes de archivos de texto, y es más delgado y más rápido que muchos programas comparables. Sin embargo, hay varias versiones del programa, y ​​que difieren ligeramente unos de otros.

Límites de tamaño

Ssed y la versión GNU de SED no tienen límites programados en la cantidad máxima de memoria que se puede acceder por el SED a la vez, pero sedmod y HHsed tanto limitar esto a aproximadamente cuatro kilobytes. En la práctica, esto significa que la longitud máxima de una sola línea o párrafo en un documento no puede ser más de cuatro kilobytes. límites de sed de BSD nombres de etiqueta para ocho caracteres en total, mientras que otras versiones no limitan.

Presentar diferencias IO

La mayoría de las versiones del SED no imponen límites a la longitud de los nombres de archivo, aunque el sistema operativo puede. Sin embargo, los límites de sed de BSD nombres de archivo a 40 caracteres. Además, sedmod y HHsed sólo pueden escribir en diez archivos a la vez con el comando "w". Sed de GNU 2.0 se limita a un total de 32 archivos que se leer y escribir a la vez. Las nuevas versiones de GNU SED y ssed no tienen ningún límite en el número máximo de archivos que pueden leer y escribir en, aunque el sistema operativo puede imponer un límite.

comandos

GNU sed permite todos los comandos que se dan en la línea de comandos como una secuencia de comandos, con cada uno separado por un punto y coma de los demás. Sin embargo, las versiones no-GNU de SED no tienen esta capacidad. Mientras que algunos comandos se pueden dar como una secuencia de comandos separados por punto y coma, etiquetas, instrucciones de ramificación, leer / escribir los comandos y las llaves cerradas siempre debe ser el último comando en una serie.

comentarios

La mayoría de las versiones de SED permitir que los comentarios aparezcan únicamente en la primera línea de una secuencia de comandos sed, y deben tener un "#" como primer carácter para indicar que se está utilizando un comentario. Sin embargo, algunas versiones no hacen cumplir esta regla. Sed de GNU, HHsed, sedmod y HP-UX sed todo ello permite comentarios que aparezcan en cualquier línea en el guión, siempre que el comando anterior el comentario termina con un punto y coma y el comentario comienza con un signo de libra.

Las diferencias de expresiones regulares

sintaxis de expresiones regulares se diferencia sutil entre las diferentes versiones de SED. La mayoría de las diferencias se relacionan con los patrones de escape especiales que se utilizan para que coincida con los caracteres no imprimibles, como la campana ASCI y la forma alimenta. Sed de GNU 3+ incluye también un interruptor "r" que se extiende la sintaxis de expresiones regulares para incluir "+" y "",? "|" comandos.