sed (tsz. seds)
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.
-i
opciót.sed
egyszerre egy sort dolgoz fel.
sed '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.
sed
parancsok
Formátum: s/keresett/kívánt/
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
sed '3d' file.txt # A harmadik sor törlése
sed '/alma/d' file.txt # Az „alma” szót tartalmazó sorok törlése
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.
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
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.
sed
parancs használata
sed 's/foo/bar/; s/baz/qux/' file.txt
Létrehozhatsz egy szövegfájlt, pl. commands.sed
:
s/apple/orange/
s/banana/kiwi/
Majd futtatás:
sed -f commands.sed file.txt
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
^
– 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ásokPélda:
echo "123-456" | sed 's/\(\{3\}\)-\(\{3\}\)/\2-\1/'
# Kimenet: 456-123
sed
parancsok nehezen érthetők.nano
vagy vim
esetén.
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
sed
Tkp. *so(n)ta ~ *kona, lásd pl. a szláv sto számnevet.
sed
sed nn (többes szám sedes)
A latin sitis szóból.