Következő: 15.104.4 ÁTVIHETŐSÉG
Fel: 15.104 sed(1)
Előző: 15.104.2 VÁZLAT
  Index
A sed program a megnevezett fájlokat (alapértelmezés szerint a standard
bemenetet) a standard kimenetre másolja, de közben egy parancsokat tartalmazó
szkriptnek megfelelően megszerkeszti.
A `-e' opció az egyszerű szerkesztést jelenti: a szerkesztő parancsot a
következő argumentumból veszi. Amennyiben több `-e' is van a parancssorban,
megjelenésük sorrendjében hajtja őket végre. Amennyiben csak egyetlen `-e'
opció van és nincs `-f', a `-e' elhagyható.
A `-f' opció azt eredményezi, hogy a parancsokat az ,,sfile'' fájlból veszi.
Amennyiben több is van belőlük, megjelenésük sorrendjében kerülnek
végrehajtásra. A `-e' és `-f'opciók keverhetők.
A `-g' opció azt eredményezi, mintha minden helyettesítési parancsnak `g'
végződése lenne.
A `-n' opció elnyomja az alapértelmezett kimenetet.
A szkript soronként egy parancsot tartalmaz az alábbi forma szerint:
[cím [, cím] ] függvény[argumentumok]
Általában a sed ciklikusan bemásol az aktuális szövegpufferbe egy sort
a bemenetről, azután sorra alkalmazza azokat a parancsokat, amelyek a cím(ek)
alapján a sorra vonatkoznak, végül a puffert a standard kimenetre másolja és
törli.
A `-n' opció elnyomja a normális kimenetet, így csak a `p' és `w' parancsok
kimenete készül el.
Néhány parancs (n, N) saját sorolvasást végez, és néhány másik (d, D) a
szkript minden további utasítását átugorja. (A `D' parancs elnyomja a
szövegpuffer törlését, amely normálisan bekövetkezne a következő ciklus előtt.)
Azt is hasznos tudni, hogy létezik egy második puffer (`hold space'), amelyik
másolható, hozzáfűzhető vagy felcserélhető az aktuális szövegpufferrel.
A címzés egy decimális számjegy, `$' jel, vagy tartalmi címzés lehet. A
decimális jegy a legelső beolvasott sor esetén 1, és folyamatosan egyesével
növekszik az összes bemeneti fájl sorain keresztül. A `$' jel az utolsó
bemeneti sort jelenti.
A tartalmi címzés egy `/szabályos kifejezés/' az ed(1) stílusában, a
következő különbségekkel:
- 1.
- A `0 jelsorozat egy pufferbe ágyazott újsorjellel egyezik meg, `'
pedig egy tab-bal.
- 2.
- Címek nélküli parancssor minden puffert kiválaszt.
- 3.
- Egy címzéssel rendelkező parancssor minden olyan puffert kiválaszt,
amely megfelel a címzésnek.
- 4.
- Két címzéssel rendelkező parancssor egy tartományt választ ki, melybe
beleértendők a megadott határok is. Atartományannál az első bemeneti puffernél
kezdődik, amely megfelel az első címzésnek, és annál végződik, amely ezután
először felel meg a másodiknak. Amennyiben a második címzés egy szám, amely
kisebb vagy egyenlő, mint az elsőnek kiválasztott sor száma, csak egy sor
kerül kiválasztásra. Mihelyt a második cím is megegyezést mutat, a sed
program újrakezdi az első címzéssel való egyezés keresését; így tetszőleges
számú, a címzésnek megfelelő tartomány egyezést mutat a címzéssel.
A `!' negáló operátor azt eredményezi, hogy a parancs azokra a sorokra
vonatkozik, amelyeket a címzés nem választott ki.
A függvények következő listájában zárójelben megadjuk a függvény által
megengedett címzések maximális számát.
A ,,szöveg''-gel jelölt argumentumok egy vagy több sorból állhatnak, melyek
közül az utolsó kivételével mind `\'-re kell végződjön. (A
`\' jel elrejti a sorvégjelet.) A szövegbeli backslash (fordított
törtvonal) jeleket a program úgy kezeli, mint az `s' parancs helyettesítési
stringjében levőket, és ezek a backslash jelek használhatók a kezdeti szóközök
és tabulátorok (whitespace karakterek) megvédésére. Alapértelmezés szerint
ugyanis ezeket a bevezető jeleket figyelmen kívül hagyja a sed.
Az ,,rfile'' és ,,wfile'' jelölésű argumentumok a parancssor legvégén kell
álljanak. A sed minden ,,wfile''-t létrehoz a feldolgozás megkezdése előtt.
Legfeljebb 10 "wfile" argumentum lehet.
A következőkben ismertetjük a sed által ismert függvényeket.
- a"szöveg"(1)
- Csatolás (append). A ,,szöveg''-et a kimenetre írja a
következő bemeneti sor olvasása előtt.
- b"címke" (2)
- Elágazás (branch) a ,,címkét'' viselő `:' parancsra.
Amennyiben nincs meg adva címke, elágazás a szkript végére.
- c"szöveg"(2)
- Csere (change). Törli az aktuális szövegpuffert. 0 vagy
1 címzéssel, illetve egy kétcímzéses tartomány végén elhelyezi a ,,szöveg''-et
a kimeneten. Elkezdi a következő ciklust.
- d(2)
- Törli (delete) az aktuális szövegpuffert. Elkezdi a következő
ciklust.
- D(2)
- Törli az aktuális szövegpuffer első sorát, azaz az első
újsor-karakter előtt álló karaktereket és ezt az újsor-jelet. Elkezdi a
következő ciklust.
- g(2)
- Helyettesíti az aktuális szövegpuffer tartalmát a második puffer
(`hold space') tartalmával.
- G(2)
- Az aktuális szövegpuffer tartalmához hozzáfűzi a második puffer
(`hold space') tartalmát.
- h(2)
- Az aktuális szövegpuffer tartalmát a második pufferbe másolja.
- H(2)
- Az aktuális szövegpuffer tartalmát a második pufferhez fűzi.
- i"szöveg"(1)
- Beilleszt (insert). Kiírja a ,,szöveg''-et a standard
kimenetre.
- l(2)
- Listáz. Kiküldi a mintaterületet a standard kimenetre. Az `s'
parancshoz hasonlóan egy `w' opció követheti. A nem nyomtatható karakterek
az alábbiak szerint kerülnek kifejtésre:
- \b
- - backspace (ASCII 08)
- \t
- - tab (ASCII 09)
- \n
- - newline (ASCII 10)
- \r
- - return (ASCII 13)
- \e
- - escape (ASCII 27)
- \xx
- - a kétjegyű xx hexadecimális számmal megadható
ASCII karakter.
- n(2)
- Az aktuális szövegpuffer tartalmát a standard kimenetre másolja,
és beolvassa helyette a következő bemeneti sort.
- N(2)
- A következő bemeneti sort az aktuális szövegpuffer tartalmához
fűzi, miközben egy újsor-jelet illeszt közéjük. Az aktuális sor száma
megváltozik.
- p(2)
- Nyomtat (print). Az aktuális szövegpuffer tartalmát a standard
kimenetre másolja.
- P(2)
- Az aktuális szövegpuffer első sorát, azaz az első újsor-karakter
előtt álló karaktereket a standard kimenetre másolja.
- q(1)
- Kilépés (quit). Elágazás a szkript végére. Nem kezd új ciklust.
- r"rfile" (1)
- Belovassa (read) az ,,rfile'' tartalmát és a kimenetre
írja, még mielőtt a következő bemeneti sort beolvasná.
- s/szabályos kifejezés/helyettesítés/zászlók (2)
- A szabályos kifejezés
előfordulásait helyettesíti az aktuális szövegpufferben. A `/' kivételével
minden karakter használható. Teljesebb leírást lásd az ed(1) kézikönyv
lapján. A zászlók a következők lehetnek: (Bármelyikük előfordulhat, de az is
lehet, hogy egyikük sem.)
- g
- Globális. A string minden nem átfedő megjelenését helyettesíti. Ha
nincs megadva, csak az első megjelenés helyettesítődik.
- p
- Kinyomtatja (print) a minta területet ha helyettesítés történt.
- w
- Írás (write). Az aktuális szövegpuffert egy argumentumként megadott
fájlhoz fűzi hozzá, ahogy a `w' parancsban, ha helyettesítés történik. Ha
nincs fájl argumentum, a standard kimenetre történik az írás.
- t"címke" (2)
- Feltételes elágazás. Elágazás a címkével jelzett `:'
paracshoz, ha valamilyen helyettesítés történt a bemeneti fájl legújabb
olvasása vagy a legutóbbi `t' vagy `T' végrehajtása óta. Ha nincs megadva
címke, akkor a szkript végére történik elágazás.
- T"címke" (2)
- Ellentéte a `t' parancsnak. Elágazás a címkével jelzett
`:' paracshoz, ha semmilyen helyettesítés sem történt a bemeneti fájl legújabb
olvasása vagy a legutóbbi `t' vagy `T' végrehajtása óta. Ha nincs megadva
címke, akkor a szkript végére történik elágazás.
- w"wfile" (2)
- Írás (write). Az aktuális szövegpuffert a ,,wfile'' fájl
tartalmához fűzi.
- W"wfile" (2)
- Az aktuális szövegpuffer első sorát a ,,wfile'' fájl
tartalmához fűzi.
- x(2)
- Felcseréli (exchange) az aktuális szövegpuffer tartalmát a
második puffer (`hold space') tartalmával.
- y/string1/string2/ (2)
- Fordít. A string1ben előforduló karaktereket a
string2ben azonos pozícióban előfordulóval helyettesíti. A stringek hossza
egyenlő kell legyen.
- !"parancs" (2)
- Kivétel. Azokra a sorokra alkalmazza a függvényt (vagy
csoportot, ha a függvény`}'), amelyek nem lettek kiválaszva a címzés(ek)kel.
- :"címke" (0)
- Ez a parancs semmit sem csinál, csak a `b' és `t'
parancsok elágazásaihoz visel címkét.
- =(1)
- Az aktuális sorszámot a standard kimenetre írja, mint egy külön
sort.
- {(2)
- Parancs csoprotosítás. A következő `}'-ig adott parancsokat
végrehajtja a címzés(ek) által meghatározott sorokra. Az üres parancsot
figyelmen kívül hagyja.
Következő: 15.104.4 ÁTVIHETŐSÉG
Fel: 15.104 sed(1)
Előző: 15.104.2 VÁZLAT
  Index
1999-09-17