Sed
a stream editor rövidítése. Ez egy parancssori alapú szerkesztő Linuxhoz. A sed népszerű használata a fájl(ok) szerkesztése egy automatizálási szkript részeként Linux alatt, mivel a szerkesztők általában aktív felhasználói bevitelt igényelnek, és nem szerkeszthetik a fájlokat a szerkesztő képernyőkön kívül. A Sed leggyakrabban a parancssorból történő kereséshez és cseréhez használatos.
Ez a típusú szövegszerkesztő besorolható a nem interaktív szövegszerkesztők közé is.
Lássunk néhány általános lehetőséget a fájlok Sed használatával történő szerkesztésére. Példaként a következő fájlt vesszük:
$: macska teszt.txt Gyors barna kutya ugrott át a lusta macskán. Linux operációs rendszer. A hozzám közeli erdőben van egy macska és egy farkas is.
Keresés és csere
Karakterlánc kereséséhez egy fájlban, és lecseréléséhez egy másik karakterláncra, futtassa:
sed -i "s/cat/fox/g" test.txt
Itt, a -én
flag arra utasítja a sed-et, hogy írja be a változtatásokat a fájlba. E zászló nélkül, sed
csak megjeleníti a fájlt a módosított karakterlánccal.
Az idézetekben megvan s/macska/róka/g
. A s
a keresés és csere parancsra szolgál sed
. Ezután megvan a keresendő karakterlánc, ami az macska
. Ezután a karakterláncot, amellyel helyettesíteni kell, azaz róka
. Végül megvan a választható lehetőség g
, amely utasítja sed
hogy lecserélje az összes előfordulást a fájl minden sorában. Anélkül, hogy a g
, sed csak az első előfordulását fogja helyettesíteni macska
minden vonalon.
Itt is használható a Regex.
sed -i "s/f[a-z]*\./cat\./g"
Beszúrás
Ha szöveget szeretne beszúrni egy egyező karakterláncot tartalmazó sor elé, használja:
sed -i "/cat/i Start:" test.txt
Itt, macska
a keresett karakterlánc és Rajt:
az a karakterlánc, amelyet be kell írni azon sor elé, ahol a keresett karakterlánc található.
Hasonlóképpen, ha szöveget szeretne beszúrni egy sor után, használja:
sed -i "/fox/a End." teszt.txt
Töröl
Egy részkarakterláncot tartalmazó sor törléséhez használja:
sed -i "/Linux/d" test.txt
Sorszámú sor törléséhez, pl. az első sort használja:
sed -i '1d' test.txt
Több funkció kombinálása
Több funkció kombinálásához, pl. keresés és csere, törlés, egyetlen parancsban, -e
zászló használható.
sed -i -e "s/fox/cat/g" -e '2d' test.txt
? Egészségére!