NÉV
- Provided by: manpages-hu (Version: 20010119-5)
- Report a bug
sed [-n] [-g] [-e script ] [-f sfile ] [ file ] ...
A `sed' program a megnevezett fájlokat (alapértelmezés szerint a standard bemenetet) a szabványos 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 szabványos 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:
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.
\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.
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 szabványos kimenetre történik az írás.
Az üres parancsot figyelmen kívül hagyja.
Ez az eszköz a BSD 4.1 UNIX sed-je alapján fordított tervezéssel készült, és (amennyire a szerzõ tudása és a tesztek meg tudják határozni) kompatíbilis azzal. A BSD 4.1 sed-jének minden dokumentált lehetõsége adott.
Egy dokumentálatlan tulajdonság (az elsõ megjegyzést bevezetõ `n' azonos hatását a `-n parancssor-opció'-val) nem került implementálásra.
A BSD sed-hez képest javítások is történtek, melyeket itt terjedelmi okokból nem tárgyalunk.
Ez a program egy `freeware' komponense a GNU és MINIX operációs rendszereknek. A felhasználó itt megkapja a jogokat a program használatára, módosítására és terjesztésére a következõ feltételek mellett:
1. A szerzõségre vonatkozó megjegyzést minden forrásfájlban változatlanul meg kell hagyni.
2. A lefordított változat forráskód nélkül nem terjeszthetõ.
Ezt a kézikönyv lapot Eric S. Raymond <esr@snark.thyrsus.com> írta, habár a sed csomag a GNU-tól származik.
Horváth András <horvatha@rs1.szif.hu>