sed

Kaip pakeisti kelias eilutes naudojant komandą „sed“

Kaip pakeisti kelias eilutes naudojant komandą „sed“
Kartais reikia pakeisti kelias failo eilutes bet kuriuo konkrečiu simboliu ar tekstu. „Linux“ sistemoje yra skirtingos komandos, kurios pakeičia kelias failo eilutes. „sed“ komanda yra viena iš jų atliekant tokio tipo užduotis. Visa „sed“ forma yra „Steam Editor“, ir ji daugiausia naudojama norint skaityti ir konvertuoti tekstą įvairiais būdais, naudojant įprastą išraišką. Kaip šia komanda galima pakeisti kelias failo eilutes įvairiais būdais, paaiškinta šioje pamokoje.

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.
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: 111045
Vardas: 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.txt

Paleidus 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“.

Geriausi žaidimai, kuriuos reikia žaisti naudojant rankos stebėjimą
„Oculus Quest“ neseniai pristatė puikią rankos stebėjimo be valdiklių idėją. „Oculus Quest“ rankų sekimo žaidimai iki šiol buvo ribojami, kai žaidimų ...
Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...
5 geriausios žaidimų fiksavimo kortos
Visi mes matėme ir pamėgome srautinius žaidimus „YouTube“. „PewDiePie“, „Jakesepticye“ ir „Markiplier“ yra tik vieni iš geriausių žaidėjų, kurie uždir...