Available in

(1) (1)/de (1)/fi (1)/hu (1)/ja (1)/pl (1b) (1posix)

TOC

sed(1)                                                                  sed(1)



NV

       sed - folyamszerkeszt (stream editor)

TTEKINTS

       sed [-n] [-g] [-e script ] [-f sfile ] [ file ] ...

LERS

       A  `sed' program a megnevezett fjlokat (alaprtelmezs szerint a standard
       bemenetet) a szabvnyos kimenetre msolja, de kzben egy parancsokat  tar-
       talmaz szkriptnek megfelelen megszerkeszti.

       A  `-e'  opci  az  egyszer szerkesztst jelenti: a szerkeszt parancsot a
       kvetkez argumentumbl veszi. Amennyiben tbb `-e' is van a parancssorban,
       megjelensk  sorrendjben  hajtja ket vgre. Amennyiben csak egyetlen `-e'
       opci van s nincs `-f', a `-e' elhagyhat.

       A `-f' opci azt eredmnyezi, hogy a parancsokat az "sfile" fjlbl  veszi.
       Amennyiben  tbb  is van bellk, megjelensk sorrendjben kerlnek vgrehajt-
       sra. A `-e' s `-f' opcik keverhetk.

       A `-g' opci azt eredmnyezi, mintha minden helyettestsi  parancsnak  `g'
       vgzdse lenne.

       A `-n' opci elnyomja az alaprtelmezett kimenetet.

       A szkript soronknt egy parancsot tartalmaz az albbi forma szerint:

               [cm [, cm] ] fggvny [argumentumok]

       ltalban  a  sed  ciklikusan  bemsol az aktulis szvegpufferbe egy sort a
       bemenetrl, azutn sorra  alkalmazza  azokat  a  parancsokat,  amelyek  a
       cm(ek)  alapjn a sorra vonatkoznak, vgl a puffert a szabvnyos kimenetre
       msolja s trli.

       A `-n' opci elnyomja a normlis kimenetet, gy csak a `p' s `w' parancsok
       kimenete kszl el.

       Nhny  parancs (n, N) sajt sorolvasst vgez, s nhny msik (d, D) a szkript
       minden tovbbi utastst tugorja. (A `D' parancs  elnyomja  a  szvegpuffer
       trlst, amely normlisan bekvetkezne a kvetkez ciklus eltt.)

       Azt  is  hasznos  tudni,  hogy ltezik egy msodik puffer (`hold space'),
       amelyik msolhat, hozzfzhet vagy felcserlhet az aktulis  szvegpufferrel.

       A  cmzs egy decimlis szmjegy, `$'-jel, vagy tartalmi cmzs lehet. A dec-
       imlis jegy a legels beolvasott sor esetn  1,  s  folyamatosan  egyesvel
       nvekszik  az  sszes  bemeneti  fjl  sorain keresztl. A `$'-jel az utols
       bemeneti sort jelenti.

       A tartalmi cmzs egy `/szablyos kifejezs/' az ed (1) stlusban, a kvetkez
       klnbsgekkel:


       (1)  A  `0  jelsorozat egy pufferbe gyazott jsor-jellel egyezik meg, `'
            pedig egy tab-bal.

       (2)  Cmek nlkli parancssor minden puffert kivlaszt.

       (3)  Egy cmzssel rendelkez parancssor minden  olyan  puffert  kivlaszt,
            amely megfelel a cmzsnek.

       (4)  Kt  cmzssel  rendelkez  parancssor egy tartomnyt vlaszt ki, melybe
            belertendk a megadott hatrok is.  A tartomny annl az els  bemeneti
            puffernl  kezddik,  amely  megfelel az els cmzsnek, s annl vgzdik,
            amely ezutn elszr felel meg a msodiknak.  Amennyiben a msodik cmzs
            egy  szm, amely kisebb vagy egyenl, mint az elsnek kivlasztott sor
            szma, csak egy sor kerl kivlasztsra.  Mihelyt a msodik cm is mege-
            gyezst  mutat,  a  sed  program jrakezdi az els cmzssel val egyezs
            keresst; gy tetszleges szm, a cmzsnek  megfelel  tartomny  egyezst
            mutat a cmzssel.

       A  `!'  negl  opertor  azt  eredmnyezi, hogy a parancs azokra a sorokra
       vonatkozik, amelyeket a cmzs nem vlasztott ki.

       A fggvnyek kvetkez listjban zrjelben megadjuk a fggvny ltal megengedett
       cmzsek maximlis szmt.

       A  "szveg"-gel  jellt  argumentumok egy vagy tbb sorbl llhatnak, melyek
       kzl az utols kivtelvel mind `\'-re kell vgzdjn. (A `\'  jel  elrejti  a
       sorvgjelet.)

       A  szvegbeli backslash (fordtott trtvonal) jeleket a program gy kezeli,
       mint az `s' parancs helyettestsi stringjben levket, s ezek a  backslash
       jelek  hasznlhatk  a kezdeti szkzk s tabultorok (whitespace karakterek)
       megvdsre. Alaprtelmezs szerint ugyanis ezeket a bevezet jeleket figyel-
       men kvl hagyja a sed.

       Az  "rfile"  s  "wfile"  jells  argumentumok  a  parancssor legvgn kell
       lljanak. A sed minden "wfile"-t ltrehoz a  feldolgozs  megkezdse  eltt.
       Legfeljebb 10 "wfile" argumentum lehet.

       A kvetkezkben ismertetjk a sed ltal ismert fggvnyeket.

       a "szveg"   (1)
            Csatols  (append). A "szveg"-et a kimenetre rja a kvetkez bemeneti
            sor olvassa eltt.

       b "cmke"  (2)
            Elgazs (branch) a "cmkt" visel  `:'  parancsra.  Amennyiben  nincs
            megadva cmke, elgazs a szkript vgre.

       c "szveg"   (2)
            Csere  (change).  Trli  az aktulis szvegpuffert. 0 vagy 1 cmzssel,
            illetve  egy  ktcmzses  tartomny  vgn  elhelyezi  a  "szveg"-et  a
            kimeneten. Elkezdi a kvetkez ciklust.

       d          (2)
            Trli  (delete) az aktulis szvegpuffert. Elkezdi a kvetkez ciklust.

       D          (2)
            Trli az aktulis szvegpuffer els sort, azaz  az  els  jsor-karakter
            eltt  ll karaktereket s ezt az jsor-jelet.  Elkezdi a kvetkez cik-
            lust.

       g          (2)
            Helyettesti az aktulis szvegpuffer tartalmt a msodik puffer (`hold
            space') tartalmval.

       G          (2)
            Az  aktulis  szvegpuffer tartalmhoz hozzfzi a msodik puffer (`hold
            space') tartalmt.

       h          (2)
            Az aktulis szvegpuffer tartalmt a msodik pufferbe msolja.

       H          (2)
            Az aktulis szvegpuffer tartalmt a msodik pufferhez fzi.

       i "szveg"   (1)
            Beilleszt (insert). Kirja a "szveg"-et a szabvnyos kimenetre.

       l          (2)
            Listz. Kikldi  a  mintaterletet  a  szabvnyos  kimenetre.  Az  `s'
            parancshoz hasonlan egy `w' opci kvetheti. A nem nyomtathat karak-
            terek az albbiak szerint kerlnek kifejtsre:

               \b  --  backspace (ASCII 08)
               \t  --  tab       (ASCII 09)
               \n  --  newline   (ASCII 10)
               \r  --  return    (ASCII 13)
               \e  --  escape    (ASCII 27)
               \xx --  a ktjegy xx hexadecimlis szmmal megadhat  ASCII  karak-
            ter.

       n          (2)
            Az  aktulis  szvegpuffer  tartalmt a szabvnyos kimenetre msolja, s
            beolvassa helyette a kvetkez bemeneti sort.

       N          (2)
            A kvetkez bemeneti sort az  aktulis  szvegpuffer  tartalmhoz  fzi,
            mikzben  egy  jsor-jelet  illeszt kzjk. Az aktulis sor szma megvl-
            tozik.

       p          (2)
            Nyomtat (print).  Az  aktulis  szvegpuffer  tartalmt  a  szabvnyos
            kimenetre msolja.

       P          (2)
            Az aktulis szvegpuffer els sort, azaz az els jsor-karakter eltt ll
            karaktereket a szabvnyos kimenetre msolja.

       q          (1)
            Kilps (quit). Elgazs a szkript vgre. Nem kezd j ciklust.

       r "rfile"  (1)
            Belovassa (read) az "rfile" tartalmt s a kimenetre rja, mg  mieltt
            a kvetkez bemeneti sort beolvasn.

       s /szablyos kifejezs/helyettests/zszlk         (2)

            A  szablyos  kifejezs  elfordulsait  helyettesti az aktulis szveg-
            pufferben. A `/' kivtelvel minden  karakter  hasznlhat.  Teljesebb
            lerst  lsd  az ed (1) kziknyv lapjn.  A zszlk a kvetkezk lehetnek:
            (Brmelyikk elfordulhat, de az is lehet, hogy egyikk sem.)

            g -- Globlis. A string minden nem tfed megjelenst helyettesti.  Ha
            nincs megadva, csak az els megjelens helyettestdik.

            p -- Kinyomtatja (print) a minta terletet ha helyettests trtnt.

            w  --  rs  (write).  Az  aktulis  szvegpuffert  egy  argumentumknt
            megadott fjlhoz fzi hozz, ahogy a `w' parancsban,  ha  helyettests
            trtnik.  Ha  nincs fjl argumentum, a szabvnyos kimenetre trtnik az
            rs.


       t "cmke"  (2)
            Feltteles elgazs. Elgazs a cmkvel jelzett `:' paracshoz, ha valam-
            ilyen  helyettests  trtnt  a  bemeneti  fjl legjabb olvassa vagy a
            legutbbi `t' vagy `T' vgrehajtsa ta. Ha nincs megadva cmke,  akkor
            a szkript vgre trtnik elgazs.

       T "cmke"  (2)
            Ellentte  a `t' parancsnak. Elgazs a cmkvel jelzett `:' paracshoz,
            ha semmilyen helyettests sem trtnt a bemeneti fjl legjabb  olvassa
            vagy a legutbbi `t' vagy `T' vgrehajtsa ta. Ha nincs megadva cmke,
            akkor a szkript vgre trtnik elgazs.

       w "wfile"  (2)
            rs (write). Az aktulis szvegpuffert a "wfile" fjl tartalmhoz  fzi.

       W "wfile"  (2)
            Az aktulis szvegpuffer els sort a "wfile" fjl tartalmhoz fzi.

       x          (2)
            Felcserli  (exchange)  az  aktulis  szvegpuffer  tartalmt a msodik
            puffer (`hold space') tartalmval.

       y /string1/string2/      (2)
            Fordt. A string1-ben elfordul karaktereket  a  string2-ben  azonos
            pozciban  elfordulval  helyettesti.  A stringek hossza egyenl kell
            legyen.

       ! "parancs"              (2)
            Kivtel. Azokra a sorokra alkalmazza a fggvnyt (vagy csoportot,  ha
            a fggvny `}'), amelyek nem lettek kivlaszva a cmzs(ek)kel.

       : "cmke"  (0)
            Ez  a  parancs semmit sem csinl, csak a `b' s `t' parancsok elgaz-
            saihoz visel cmkt.

       =          (1)
            Az aktulis sorszmot a szabvnyos kimenetre rja, mint egy kln  sort.

       {          (2)
            Parancs csoprotosts. A kvetkez `}'-ig adott parancsokat vgrehajtja
            a cmzs(ek) ltal meghatrozott sorokra.

       Az res parancsot figyelmen kvl hagyja.


TVIHETSG

       Ez az eszkz a BSD 4.1 UNIX sed-je alapjn fordtott tervezssel  kszlt,  s
       (amennyire  a  szerz  tudsa s a tesztek meg tudjk hatrozni) kompatbilis
       azzal. A BSD 4.1 sed-jnek minden dokumentlt lehetsge adott.

       Egy dokumentlatlan tulajdonsg (az els  megjegyzst  bevezet  `n'  azonos
       hatst a `-n parancssor-opci'-val) nem kerlt implementlsra.

       A  BSD sed-hez kpest javtsok is trtntek, melyeket itt terjedelmi okokbl
       nem trgyalunk.

MEGJEGYZS

       Ez a program egy `freeware' komponense a GNU s  MINIX  opercis  rendsz-
       ereknek.  A  felhasznl  itt  megkapja  a  jogokat a program hasznlatra,
       mdostsra s terjesztsre a kvetkez felttelek mellett:

       1. A szerzsgre vonatkoz megjegyzst minden forrsfjlban vltozatlanul  meg
       kell hagyni.

       2. A lefordtott vltozat forrskd nlkl nem terjeszthet.


LSD MG

       ed(1), grep(1), awk(1), lex(1), regexp(5)


SZERZ

       Ezt a kziknyv lapot Eric S. Raymond <esr [AT] snark.com> rta, habr a
       sed csomag a GNU-tl szrmazik.

MAGYAR FORDTS

       Horvth Andrs <horvatha [AT] rs1.hu>



                               November 19, 1995                        sed(1)

COMMENTS

1
See http://wiki.splitbrain.org/she … r_mark_bom on how to use SED to strip UTF-8 byte order marks.
2005-12-04 00:43:25
Andi
2
Real nice oneliners and longer SED scripts: http://sed.sourceforge.net/grabbag/
2005-12-07 16:16:30
Andi
Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.