Sed, programok és segédprogramok

Eredetileg írva, mint egy UNIX-segédprogram Leigh McMahon (Eng. Lee E. McMahon) Bell Labs a 1973-1974. Sed már elérhető szinte minden operációs rendszer, amely támogatja munka parancssorban.

sed olyan jelet kap áramot (általában fájl) vonal, szerkeszt minden sor a szabályok szerint meghatározott sed-szkript egy egyszerű sed nyelvet. és azután kiadja az eredményt a kimeneti stream.

A következő példa azt mutatja, egy tipikus használat sed:

Itt s - csere; g - a globális, ami azt jelenti: „minden előfordulását a keresési érték.” Miután az első perjel található reguláris kifejezést keresni, miután a második - a kifejezés, hogy ki kell cserélni. Azonban meg kell jegyezni, hogy egy másik karaktert lehet használni mellett a perjel. Így például az expressziós

cseréje parancs (ok ///) kétségtelenül a legerősebb és leggyakrabban használt sed paranccsal. Átirányítása Standard kimeneti «> OutputFileName» elhagyható, akkor sed megjeleníti az eredményt a képernyőn.

A Unix sed parancs gyakran használják a szűrőt egy vonallal (| vagy cső):

Így adatok kerül generálásra és átvitelre a szállítószalag helyettesítésére x y.

Több parancsot is kombinálható egyetlen fájlba (például, subst.sed), majd formájában alkalmazzuk:

Emellett a cserék, egyéb formák is lehetségesek egyszerű feldolgozás. Például a következő script törli az üres sorokat, vagy sorokat, hogy csak tartalmazhat szóközt:

Az utolsó példa használt néhány reguláris kifejezésekben a:

  • ^ Egyezik a sor elejére
  • $ Mérkőzések sor vége
  • . Minden karakterhez illeszkedik
  • * Nulla vagy több ismétlés az előző karakter
  • [] Tetszőleges egyik karakter szerepel szögletes zárójelben []

Bonyolult terveket lehet sed olyan mértékben, hogy meg lehet mutatni, mint egy nagyon speciális, bár egyszerű, programozási nyelv. áramlásszabályozó, például vezérelhető a címke (kettőspont majd egy karakterlánc, ami kell a neve a címke) és elágazó utasítás b; utasítás b. majd a megfelelő cimkét fog mozogni feldolgozását a blokk után a címkén; ha a címke nem létezik, akkor az elágazás befejezi a forgatókönyvet (script).

sed - ez az egyik nagyon korai Unix parancsokat adatfeldolgozásra képes fájlokat a parancssorban. sed fejlődött, mint a természetes utódja a népszerű grep parancsot. Kapcsolódó később programozási nyelv AWK, sed hagyjuk használható héjprogramba erős és érdekes adatok feldolgozása, és egyike volt az első Unix eszközöket ne ösztönözzék a megfelelő reguláris kifejezések.

Sed a végrehajtási sebesség sokkal gyorsabb, mint AWK. [Szerkesztés 507 nap]

sed és az awk gyakran tekintik progenitor és ihletői Perl, és különösen a szintaxis «s ///» a fenti példában.

A nyelv sed nem változók csak primitív GOTO és elágazás alkalmassága elvégzésére; Mindazonáltal ez Turing-teljes nyelvet.

GNU sed számos új tulajdonsággal bír, mint például a csere fájlok szerkesztése (helyett az eredeti fájlt az eredmény a sed). Csere szerkesztő gyakran helyett script ed. például

Ezt fel lehet használni helyette

Van egy kiterjesztett változata a sed. az úgynevezett Super-sed (ssed), amely magában foglalja a reguláris kifejezések összeegyeztethető Perl.

Kapcsolódó cikkek