Dažniausiai naudojamas „sed“ apgaulės lapas:
Dažniausiai „sed“ komandoje naudojami simboliai paaiškinti šioje lentelėje.
Charakteris | Tikslas |
a | Jis naudojamas pridedant turinį. |
b | Jis naudojamas šakojant turinį. |
c | Jis naudojamas turiniui keisti. |
d | Jis naudojamas failo eilutei ištrinti. |
D | Jis naudojamas pirmai failo eilutei ištrinti. |
g | Jis naudojamas kopijuoti iš laikančio teksto. |
G | Jis naudojamas pridėti prie laikymo teksto. |
h | Jis naudojamas kopijuoti į laikantį tekstą. |
H | Jis naudojamas pridėti prie laikymo teksto. |
i | Jis naudojamas įterpti. |
Aš | Jis naudojamas atspausdinti pakaitinę liniją. |
n | Jis naudojamas pereiti prie kitos eilutės. |
N | Jis naudojamas pridėti kitą įvesties eilutę. |
p | Jis naudojamas spausdinimui. |
P | Jis naudojamas pirmosios eilutės spausdinimui. |
q | Jis naudojamas mesti. |
Klausimas | Jis naudojamas nedelsiant mesti. |
r | Jis naudojamas failui nuskaityti. |
R | Jis naudojamas eilutei nuskaityti iš failo. |
s | Jis naudojamas pakaitalams. |
t | Jis naudojamas pakaitams išbandyti. |
T | Jis naudojamas norint patikrinti, ar nėra pakaitalų. |
w | Jis naudojamas rašyti į failą. |
W | Jis naudojamas failui įrašyti eilutę. |
x | Jis naudojamas sukeisti modelius ir laikyti. |
y | Jis naudojamas versti. |
z | Jis naudojamas linijai išvalyti. |
"=" | Jis naudojamas atspausdinti eilutės numerį. |
Pakeiskite kelias eilutes naudodami komandą „sed“ iš terminalo:
Kaip komandą „sed“ galima naudoti norint pakeisti kelias eilutes iš failo iš terminalo, parodyta šioje mokymo programos dalyje. Sukurkite failą pavadinimu sed.txt su šiuo turiniu patikrinkite šios dalies komandas.
sed.txt
Visa „sed“ forma yra „srauto redaktorius“.
Tai yra „Unix“ įrankis, naudojamas skaityti ir konvertuoti tekstą kitu formatu.
Jį sukūrė Lee E. McMahon.
Jis naudojamas teksto apdorojimui.
Jis palaiko reguliarius posakius.
1 pavyzdys: pakeiskite dvi eilutes iš eilės
Ši „sed“ komanda pakeis dvi eilutes iš eilės kita. Čia parinktis -z naudojama iš eilės einančioms eilutėms pakeisti nuliniais duomenimis prieš pridedant pakaitinį tekstą. Pagal komandą 3rd ir 4tūkst failo eilutės bus pakeistos tekstu, „Tai labai naudinga priemonė“.
$ katinas sed.txt$ sed -z 's / Jį sukūrė Lee E. McMahon.\ nJis naudojamas tekstui
apdorojimas./ Tai labai naudinga priemonė./ 'sed.txt
Paleidus komandas pasirodys toks išėjimas.
2 pavyzdys: pakeiskite kelias eilutes pagal atitikimą ir visuotinę vėliavą
Ši „sed“ komanda pakeis visas eilutes, prasidedančias žodžiu, „Tai“ pagal žodį “Ši eilutė pakeista ".
$ katinas sed.txt$ sed 's / ^ Tai.* / Ši eilutė pakeista / g 'sed.txt
Paleidus komandas pasirodys toks išėjimas. Trijose eilutėse yra žodis „Tai'byloje. Taigi, šios eilutės buvo pakeistos pakeitimo tekstu.
3 pavyzdys: pakeiskite kelias eilutes pagal komandą „match“ ir „next line“
Ši „sed“ komanda pakeis žodį „yra"pagal žodį"buvo„su kitos eilutės komanda„ n “.
$ katinas sed.txt$ sed 'n; / is / s / is / was / sed.txt
Paleidus komandas pasirodys toks išėjimas. Čia, „yra“ egzistuoja 2nd ir 4tūkst failo eilutės, ir šias eilutes modifikuoja žodis „buvo“.
Pakeiskite kelias eilutes sukurdami „sed“ scenarijaus failą:
Ankstesniuose pavyzdžiuose „sed“ komandos buvo vykdomos iš terminalo. Bet tai yra scenarijaus kalba ir jei scenarijuje yra keli teiginiai, tada geriau sukurti sed failą su scenarijumi. Sukurkite tekstinį failą pavadinimu studentų.txt su tokiu turiniu, kuriame bus naudojamas „sed“ scenarijus.
studentų.txt
ID: 111045Vardas: Robertas
Skyrius: CSE
Partija: 35
ID: 111876
Vardas: Juozapas
Skyrius: BBA
Partija: 27
ID: 111346
Vardas: Williamas
Skyrius: CSE
Partija: 45
ID: 111654
Vardas: Charlesas
Skyrius: EEĮ
Partija: 41
ID: 111346
Vardas: Jonas
Skyrius: CSE
Partija: 25
ID: 111746
Vardas: Thomas
Skyrius: CSE
Partija: 15
4 pavyzdys: pakeiskite kelias failo eilutes naudodami „sed“ scenarijaus failą
Sukurkite sed failą, pavadintą pakeisti.sed su šiuo turiniu, kad pakeistų kelias eilutes pagal paieškos modelį. Čia žodis „TPP'bus ieškoma tekstiniame faile, o jei yra atitikimas, jis vėl ieškos skaičių 35 ir 15. Jei byloje yra antroji atitiktis, ji bus pakeista skaičiumi 45.
pakeisti.sed
/ TPP /p; n;
/ 35 /
s / 35/45 /;
p; d;
/ 15 /
s / 15/55 /;
p; d;
p;
Norėdami patikrinti esamą failo turinį, vykdykite šią komandą. „CSE“ teksto faile pasirodė keturis kartus. 35 ir 15 egzistuoja dviejose vietose.
$ kačių studentai.txt
Ši komanda pakeis kelių eilučių turinį pagal sed scenarijų.
$ sed -n -f pakeisti.sed studentai.txtPaleidus komandą pasirodys toks išvestis.
Išvada
Šioje pamokoje buvo parodyti įvairūs kelių eilučių arba kelių eilučių turinio pakeitimo būdai naudojant komandą „sed“. Kaip „sed“ scenarijų galima vykdyti iš „sed“ failo, taip pat parodyta šioje pamokoje. Tikiuosi, kad ši instrukcija padės skaitytojui pakeisti kelias bet kokio failo eilutes naudojant komandą „sed“.