sed
Főnév
sed (tsz. seds)
- (informatika) A
sed
, vagyis stream editor egy Unix/Linux rendszereken használatos parancssori szövegszerkesztő eszköz, amely soronként olvas be egy szövegfájlt (vagy szabványos bemenetet), feldolgozza azt valamilyen módon – például módosít, töröl, beszúr – majd az eredményt a kimenetre küldi. Ased
szkriptek és reguláris kifejezések segítségével automatizálható a szövegfeldolgozás, anélkül, hogy interaktívan kellene szerkesztenünk egy fájlt.
Főbb jellemzők
- Nem-interaktív: A fájl tartalmát módosítás nélkül hagyja az eredeti helyén, hacsak nem irányítjuk át a kimenetet vagy nem használunk
-i
opciót. - Soronként működik: A
sed
egyszerre egy sort dolgoz fel. - Reguláris kifejezések: Széleskörű mintakeresési lehetőségek.
- Szűrés, módosítás, csere: Sorok kiválasztása, szöveg átírása, sorok törlése, betoldás stb.
Alapvető szintaxis
sed [opciók] 'parancs' fájl
Példa:
sed 's/kutya/macska/' fajlok.txt
Ez a parancs lecseréli az első előforduló „kutya” szót „macska”-ra minden sorban.
Gyakori sed
parancsok
1. Csere (s – substitute)
Formátum: s/keresett/kívánt/[flags]
sed 's/apple/orange/' file.txt # Csak az első "apple" cseréje soronként
sed 's/apple/orange/g' file.txt # Az összes "apple" cseréje soronként
sed 's/apple/orange/gi' file.txt # Nem érzékeny a kisbetű-nagybetű különbségre
2. Sor törlése (d)
sed '3d' file.txt # A harmadik sor törlése
sed '/alma/d' file.txt # Az „alma” szót tartalmazó sorok törlése
3. Sorok kiválasztása (p)
sed -n '2p' file.txt # Csak a 2. sort írja ki
sed -n '/alma/p' file.txt # Csak az „alma” szót tartalmazó sorokat írja ki
Megjegyzés: a
-n
opció megakadályozza ased
-et, hogy minden sort automatikusan kiírjon.
4. Sor beszúrása (i – insert, a – append)
sed '3i Beszúrt sor' file.txt # Beszúr egy sort a 3. sor elé
sed '3a Következő sor' file.txt # Beszúr egy sort a 3. sor után
5. Sor módosítása (c – change)
sed '4c Új tartalom' file.txt # A 4. sort lecseréli teljesen
sed
opciók
-n
: Ne nyomtassa ki automatikusan az összes sort.-i
: Módosítsa közvetlenül a fájlt (in-place szerkesztés).
Példa:
sed -i 's/hibás/helyes/g' file.txt
Ez a fájl minden sorában lecseréli a „hibás” szót „helyes”-re, és a fájl tartalmát közvetlenül módosítja.
Több sed
parancs használata
Egy sorban több parancs
sed 's/foo/bar/; s/baz/qux/' file.txt
Szkriptek használata fájlból
Létrehozhatsz egy szövegfájlt, pl. commands.sed
:
s/apple/orange/
s/banana/kiwi/
Majd futtatás:
sed -f commands.sed file.txt
Tartományok kezelése
sed '2,5d' file.txt # A 2–5. sorok törlése
sed '/kezdet/,/veg/d' file.txt # A „kezdet” és „veg” közötti tartomány törlése
Speciális karakterek, kifejezések
^
– sor eleje$
– sor vége.
– bármilyen karakter*
– az előző karakter tetszőleges számú ismétlése\(
\)
– csoportosítás\1
,\2
, stb. – visszahivatkozások
Példa:
echo "123-456" | sed 's/\([0-9]\{3\}\)-\([0-9]\{3\}\)/\2-\1/'
# Kimenet: 456-123
Gyakori felhasználási esetek
- Naplófájlok szűrése, elemzése
- Forráskódok módosítása (tömeges csere)
- Adattisztítás (pl. whitespace eltávolítás)
- CSV fájlok oszlopainak átrendezése
- HTML fájlok tisztítása (pl. tagek eltávolítása)
Előnyök
- Gyors és könnyű: Nagyon hatékony nagy fájlokon is.
- Scriptelhető: Könnyen beépíthető shell szkriptekbe.
- Széles támogatottság: Minden Unix-alapú rendszeren elérhető.
Hátrányok
- Nehéz olvashatóság: Bonyolultabb
sed
parancsok nehezen érthetők. - Nem interaktív: Nem lehet „élőben” szerkeszteni, mint például a
nano
vagyvim
esetén. - Limitált logika: Összetett logikát (pl. többváltozós feltételrendszert) már nehezebb kifejezni vele.
Összefoglalás
A sed
egy rendkívül hatékony eszköz szövegfájlok parancssori feldolgozására. Bár első ránézésre bonyolultnak tűnhet, alapfunkcióival gyorsan elvégezhető számos gyakori feladat, például szövegcsere, sorok törlése, beszúrása vagy kiválasztása. Ha komolyan dolgozol shellben vagy Linux rendszereken, a sed
ismerete nagy előnyt jelent.
- sed - Szótár.net (en-hu)
- sed - Sztaki (en-hu)
- sed - Merriam–Webster
- sed - Cambridge
- sed - WordNet
- sed - Яндекс (en-ru)
- sed - Google (en-hu)
- sed - Wikidata
- sed - Wikipédia (angol)
Kiejtés
- IPA: [sed]
- Elválasztás: sed
Kötőszó
sed
- sed - Google (eo-en)
- sed - Яндекс (eo-ru)
- sed - Plena Ilustrita Vortaro de Esperanto (PIV)
- sed - Wikidata
- sed - Wikipédia (eszperantó)
Számnév
sed
Etimológia
Tkp. *so(n)ta ~ *kona, lásd pl. a szláv sto számnevet.
Kötőszó
sed
Kiejtés
- IPA: /ˈsed/, [ˈseð̞]
Főnév
sed nn (többes szám sedes)
Etimológia
A latin sitis szóból.
Szókapcsolatok
Lásd még
- angol-magyar szótár
- angol lemmák
- angol főnevek
- angol megszámlálható főnevek
- en:Informatika
- eszperantó-magyar szótár
- eszperantó kötőszók
- eo
- kurd-magyar szótár
- kurd számnevek
- latin-magyar szótár
- latin kötőszók
- spanyol-magyar szótár
- spanyol 1 szótagú szavak
- spanyol lemmák
- spanyol főnevek
- spanyol megszámlálható főnevek
- spanyol nőnemű főnevek