Ez a lap egy ellenőrzött változata
Ased(stream editor) egy nem interaktív szövegszerkesztő program aUnix operációs rendszerben. A szövegszerkesztő parancsokat parancssorból vagy -fájlból veszi. Használhatjuk helyettesítésre, törlésre vagy transzformációra. Néhány kivételtől eltekintve egyszerre egy sorral dolgozik. Az állomány sorait rendre olvassa be a mintatérbe, és hajtja végre rajta a scriptben szereplő parancsokat. Ha a scriptben szereplő összes parancs feldolgozta a mintatérben levő sort, akkor a mintatér tartalma kikerül a standard outputra (a -n opcióval ezt a default kiírást letilthatjuk).
1973 és 1974 között fejlesztette kiLee E. McMahon mintUnix alkalmazást, de napjainkban is minden operációs rendszerben elérhető.
sed
kapcsolókfile...
Az eredmény a standard outputra kerül (tehát több fájl esetén is egy eredményfájl van).[1] A kimenetet rendszerint fájlba irányítjuk vagy pipeline-nal (|
) tovább alakítjuk.
(Ha sem a-e
, sem a-f
kapcsoló nincs megadva, a sed az első paramétert tekinti az egyetlen szerkesztő utasításnak, a többit fájlnak.)
-e
: szerkesztőparancs. Több-e
paraméter lehet a parancssorban.-f
: parancsfájl. A sed ebből olvassa a szerkesztő parancsokat.-n
: a mintatér nem íródik ki a parancsok feldolgozása után; lásdp
parancs.Minden parancs egybetűs. A betűt megelőzheti a sor(ok) megadása, amely(ek)re azt végre kell hajtani. Ha elmarad, minden sorra végrehajtódik az utasítás. A parancs betűjét követheti(k) a parancs paramétere(i).
A sorok egy vagy két paraméterrel adhatók meg. Az utóbbi sortartományt jelent kezdő- és végsor alakban.
A sorparaméter megadható sorszámmal vagy két/
közé zárt reguláris kifejezéssel.[2] A sortartomány két tagja különböző módon is leírható, második sorparaméter pedig lehet az elsőhöz relatív+N
ill.-N
alakban.
A betű előtti!
megfordítja a sorkijelölést: ezekrenem hajtódik végre az utasítás.
A fontosabb egybetűs parancsok és paramétereik:
s/
mit/
mire/
hányadik&
-jellel hivatkozhatunk amit-hez illeszkedő mintára.[3] Az utolsó paraméter azt mondja meg, hányadik talált mintában kell a helyettesítést végrehajtani. Ag
érték minden illeszkedésre végrehajtja a helyettesítést a sorban.d
p
A következő példa a sed egy általános használata:
echo "`sed 's/ui./ugyanis/g' inputFileName`" > outputFileName
Azs arra utal, hogy most a programot behelyettesítésre használjuk, ag miatt pedig a mintát az összes előfordulásában helyettesíti az új mintával. Az első helyen mindig az a minta található, amit keresek és amit helyettesíteni akarok, a második helyen pedig az új minta, mellyel helyettesítem a régi mintát.
A Unix, sed -et gyakran használják szűrőként a csővezetékkel, apipeline együtt:
generate_data | sed -e 's/x/y/g'
A felső példában generáljuk a data állományt, majd a sed segítségével azx összes előfordulását helyettesítjüky-nal.Az e opciót akkor használjuk, ha a sed parancssorban több végrehajtandó scriptet adunk meg. Egyetlen script esetén elhagyható.
Példa a d utasítás használatára:
sed '/^$/d' file
A példában a sed törli az üres sorokat a file nevű állományból.
Az alábbi példában törlődnek az üres sorok és azok, melyek csak szóközt tartalmaznak:
sed -e '/^ *$/d' inputFileName
Az előbbi példák olyan karaktereket használtak, melyek különbözőreguláris kifejezések:
^
) a sor kezdetét jelöli.$
) a sor végét jelöli.*
) jelöl egy nulla vagy több karaktert.A sed az első Unix parancsok közé tartozik, mely segítségével állományok sorait dolgozzuk fel. Továbbfejlesztés során jött létre agrep parancs.A sed és az AWK járult hozzá aPerl kifejlesztéséhez.
/
-t más karakter is helyettesítheti\
c ...c alakban, aholca/
-t helyettesítő karakter.\(
és\)
közé zárjuk, ígymire-ben\1
,\2
stb. alakban hivatkozhatunk rá.