Forskjeller i SED versjoner

Hver versjon av Unix og Linux kommer med en versjon av bekken editor program, eller SED. Dette lille programmet er i stand til å utføre programmerte redigeringer på grupper av tekstfiler, og er slankere og raskere enn mange sammenlignbare programmer. Det er imidlertid flere versjoner av programmet, og de skiller seg litt fra hverandre.

størrelses~~POS=TRUNC

Ssed og GNU versjonen av SED har ingen programmerte grenser for den maksimale mengden minne som kan nås av SED på en gang, men sedmod og HHsed både begrense dette til om lag fire kilobyte. I praksis betyr dette den maksimale lengden på en enkelt linje eller et avsnitt i et dokument kan ikke være mer enn fire kilobyte. BSD er basert grenser merke navn til åtte tegn totalt, mens andre versjoner pålegge ingen grense.

File IO Forskjeller

De fleste versjoner av SED legger ingen begrensninger på lengden av filnavn, men operativsystemet kan. Men BSD er basert grenser filnavn 40 tegn. I tillegg kan sedmod og HHsed bare skrive til ti filer samtidig med "w" kommandoen. GNU sed 2.0 er begrenset til totalt 32 filer leses fra og skrives til på en gang. Nyere versjoner av GNU sed og ssed har ingen grense på maksimalt antall filer de kan lese og skrive til, selv om operativsystemet kan innføre en grense.

kommandoer

GNU sed kan alle kommandoer som skal gis på kommandolinjen som et manus, med hver kommando semikolon fra de andre. Men, ikke-GNU versjoner av SED ikke har denne evnen. Mens noen kommandoer kan gis som et manus atskilt med semikolon, etiketter, forgrening instruksjoner, lese / skrive kommandoer og lukking bukseseler må alltid være den siste kommandoen i en serie.

kommentarer

De fleste versjoner av SED tillate kommentarer bare skal vises på den første linjen i en SED skript, og de må ha en "#" som første tegn som tyder på at en kommentar blir brukt. Men noen versjoner ikke håndheve denne regelen. GNU sed, HHsed, sedmod og HP-UX sed alle tillate kommentarer til å vises på en linje i manuset, så lenge kommandoen før kommentaren avsluttes med et semikolon og kommentaren starter med et firkanttegn.

regex Forskjeller

Regulære uttrykk syntaks skiller subtilt mellom de ulike versjonene av SED. De fleste av forskjellene innebærer spesielle rømnings mønstre brukes til å matche ikke-utskrift tegn, for eksempel ASCI bjelle og form feeds. GNU sed 3+ inkluderer også en "r" bryter som strekker regex syntaks for å inkludere "+" og "",? "|" kommandoer.