De verschillen in SED versies

Elke versie van Unix en Linux wordt geleverd met een versie van het programma van stream editor, of SED. Zulks min programma kan geprogrammeerde bewerkingen uitvoeren op partijen van tekstbestanden, en is slanker en sneller dan veel vergelijkbare programma's. Echter, er zijn meerdere versies van het programma, en ze verschillen van elkaar.

Limieten voor de berichtgrootte

Ssed en de GNU versie van SED hebben geen geprogrammeerde grenzen op de maximale hoeveelheid geheugen die kan worden benaderd door SED in één keer, maar sedmod en HHsed beide dit tot ongeveer vier kilobyte beperken. In de praktijk, dit betekent dat de maximale lengte van een enkele regel of alinea in een document niet meer dan vier kilobytes. BSD's sed beperkt labelnamen tot acht totale tekens, terwijl andere versies geen limiet leggen.

IO bestandsverschillen

De meeste versies van SED geen limieten opleggen op de lengte van bestandsnamen, hoewel het besturingssysteem kan. Echter beperkt BSD's SED bestandsnamen dan 40 tekens. Bovendien, kunnen sedmod en HHsed alleen schrijven naar tien bestanden tegelijk met de opdracht "w". De GNU sed 2.0 is beperkt tot een totaal van 32 bestanden wordt gelezen van en geschreven naar tegelijk. Nieuwere versies van GNU sed en ssed hebben geen limiet op het maximum aantal bestanden ze kunnen lezen en schrijven, hoewel het besturingssysteem kan een limiet opleggen.

Opdrachten

De GNU sed kan alle opdrachten worden gegeven op de opdrachtregel als een script, met elke opdracht gescheiden door een puntkomma van de anderen. Niet-GNU versies van SED hoeft echter niet dit vermogen. Terwijl sommige opdrachten kunnen worden gegeven als een script gescheiden door puntkomma's, etiketten, vertakkende instructies, lezen/schrijven opdrachten en sluiting accolades moeten altijd de laatste opdracht in een reeks.

Opmerkingen

De meeste versies van SED commentaar te verschijnen alleen op de eerste regel van een SED script toestaan, en zij moeten een "#" als het eerste teken om aan te geven dat een opmerking wordt gebruikt. Echter, sommige versies deze regel niet afdwingen. De GNU sed, HHsed, sedmod en HP-UX sed die alle toestaan opmerkingen worden weergegeven op elke regel in het script, zo lang als de opdracht voorafgaande aan de opmerking met een puntkomma eindigt en de opmerking met een hekje begint.

Regex verschillen

Syntaxis voor reguliere expressies verschilt subtiel tussen de verschillende versies van de SED. Allermeest naar de verschillen betrekken speciale ontsnappen patronen gebruikt voor het vergelijken van niet-afdrukbare tekens, zoals de ASCI bell en formulier feeds. De GNU sed 3 + ook een "r" schakelaar die zich uitstrekt van de syntaxis van de regex op te nemen "?," "+" en "|" opdrachten.