Rechercher une page de manuel
sed
Langue: hu
Version: 90862 (ubuntu - 01/11/07)
Section: 1 (Commandes utilisateur)
NÉV
sed - folyamszerkesztõ (stream editor)ÁTTEKINTÉS
sed [-n] [-g] [-e script ] [-f sfile ] [ file ] ...LEÍRÁS
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:
- (1)
- A ` jelsorozat egy pufferbe ágyazott újsor-jellel 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. A tartomány anná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 megadva 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 szabványos kimenetre.
- l (2)
- Listáz. Kiküldi a mintaterületet a szabványos 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 szabványos 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 szabványos kimenetre másolja.
- P (2)
- Az aktuális szövegpuffer elsõ sorát, azaz az elsõ újsor-karakter elõtt álló karaktereket a szabványos 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 szabványos 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 string1-ben elõforduló karaktereket a string2-ben 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 szabványos 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.
ÁTVIHETÕSÉG
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.
MEGJEGYZÉS
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õ.
LÁSD MÉG
ed(1), grep(1), awk(1), lex(1), regexp(5)
SZERZÕ
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.MAGYAR FORDÍTÁS
Horváth András <horvatha@rs1.szif.hu>et non pour l'utilité particulière de ceux à qui elle est confiée.
-+- Déclaration des droits de l'homme et du citoyen
(26 août 1789) - Article XII -+-
Contenus ©2006-2008 Benjamin Poulain
Design ©2006-2008 Maxime Vantorre