Ugrás a tartalomhoz

sed

A Wikiszótárból, a nyitott szótárból

Főnév

sed (tsz. seds)

  1. (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. A sed 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 a sed-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 vagy vim 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

  1. de

Számnév

sed

  1. száz

Etimológia

Tkp. *so(n)ta ~ *kona, lásd pl. a szláv sto számnevet.

Kötőszó

sed

  1. de

Kiejtés

  • IPA: /ˈsed/, [ˈseð̞]

Főnév

sed nn (többes szám sedes)

  1. szomjúság

Etimológia

A latin sitis szóból.

Szókapcsolatok

Lásd még

  • sed - Szótár.net (es-hu)
  • sed - Lingea (es-hu)
  • sed - DLE (académico)
  • sed - Google (es-en)
  • sed - Яндекс (es-ru)
  • sed - PONS (es-en)
  • sed - Reverso (es-en)
  • sed - Wikidata
  • sed - Wikipédia (spanyol)