Stream Editor (SED): Osnove

Stream Editor Sed Osnove



SED, poznat i kao uređivač toka, vrlo je koristan alat. Koristi se za traženje određene riječi ili uzorka i naknadno nešto radi na riječi ili uzorku ili ga drugim riječima transformira. U sustavu Windows, SED je također poznat kao funkcije 'pronađi' i 'zamijeni'. SED dolazi s Ubuntuom, tako da nema potrebe ništa instalirati; samo ga počni koristiti. U ovom vodiču ćemo vam pokazati kako koristiti SED ili uređivač streama.

Naredba 'S'.

Najvažnija od svih naredbi u SED-u ili uređivaču toka je naredba “s”. Slovo 's' označava zamjenu. Sintaksa je sljedeća:







‘s / regularni izraz / zamjena / zastave


Dakle, upotrijebimo datoteku pod nazivom 'file.txt' za primjere. Evo kako 'file.txt' izgleda ako ga označite:




Iskoristimo primjer da pokažemo kako funkcionira naredba 's':



ali ‘s / prvi / mjesec / ja file.txt > mjesec.txt


Kada se da takav izraz, to znači:





    • s – Označava zamjenu.
    • prvo – Riječ za traženje u datoteci pod nazivom “file.txt”.
    • mjesec – Riječ “prvi” zamijenjena je riječju “mjesec”.
    • i – Skraćuje ignoriranje. Za početak ćemo zanemariti ovaj dio.
    • file.txt – Datoteka u kojoj će SED tražiti uzorak ili riječ. U ovom slučaju, riječ 'prvi' će biti:
    • pretraživao u file.txt

    • moon.txt – Kada se riječ “prvi” zamijeni riječju “moon”, bit će spremljena pod “moon.txt”.

Dakle, što se ovdje događa? SED zamjenjuje riječ 'prvi' za 'mjesec' samo u prvoj instanci (to znači da ako se riječ 'prvi' pojavi više puta, neće je zamijeniti cijelu ili zamijeniti više puta). Datoteka koju pretražuje naziva se 'file.txt' i nakon što se izvrši transformacija ili zamjena, bit će spremljena pod 'moon.txt'.



Ovako to izgleda:


Ne zaboravite staviti “/” gdje treba biti. Ako izostavite “/”, SED neće prihvatiti naredbu.

Do sada smo zamjenom samo zamijenili riječ 'prvi' s 'naišao'. Sada, pretpostavimo da želimo zamijeniti riječ 'linija' (koja se pojavljuje mnogo puta - četiri puta da budemo precizni) u trećem retku riječju 'anđeo'.

Kako konkretno ciljamo tu treću liniju? Koristimo sljedeću naredbu:

ali '3s / crta / anđeo / ja file.txt > anđeo.txt


Dakle, što se upravo dogodilo ovdje? Pa, '3' određuje broj retka. Stoga ide u treću liniju. Zatim zamijenite riječ 'line' za 'anđeo' u datoteci pod nazivom 'file.txt' i spremite transformiranu datoteku kao 'angel.txt'.


Što ako želimo zamijeniti ili transformirati retke “3” i “4”?

ali ' 3 ,4s / crta / anđeo / ja file.txt > anđeo2.txt



Imajte na umu da smo u prethodnom primjeru koristili oznaku 'i' za ignoriranje. Sada koristimo zastavu 'g' za globalno.

Iskoristimo primjer da pokažemo kako funkcionira naredba 's':

ali ‘s / crta / Sunce / g’ datoteka.txt > sunce.txt


Kada se da takav izraz, to znači:

Slovo 'g' označava globalno. Zapamtite da u prvom primjeru, kada koristimo oznaku 'i', postoji samo jedna zamjena. Sad kad smo dodali 'g' za globalno, to znači zamjena posvuda. Dakle, umjesto da kaže prvi redak, drugi redak, treći redak i posljednji redak, kaže se prvo sunce, drugo sunce, treće sunce i posljednje sunce. Zamjenjuje redak riječi u cijeloj datoteci (posvuda) riječju 'sunce'.


Sada, što ako želimo odabrati jednu liniju na temelju riječi koju sadrži? Pa, možemo vidjeti da posljednji redak 'file.txt' ima riječ 'last' u sebi. Sada, pretpostavimo da želimo 'Ovo je zadnji redak. Ovo je zadnja rečenica.” rečenica postati “Ovo je posljednji duh. Ovo je zadnja rečenica.”

Pišemo sljedeće:

ali ' / posljednji / s / crta / duh / ’ datoteka.txt > duh.txt


“Last” ovdje govori SED-u da potraži redak koji ima riječ “last” i zatim zamijeni riječ “line” s “ghost” unutar tog retka.


Sada, pretpostavimo da želimo učiniti suprotno. Pretpostavimo da želimo da svaki redak bez riječi 'posljednji' ima riječ 'linija' promijenjena u 'duh'. Napišimo sljedeće:

ali ' / posljednji /! s / crta / duh / ’ datoteka.txt > duh2.txt


Kao što možete vidjeti ovdje, svaki redak osim posljednjeg (koji sadrži riječ 'posljednji') ima riječ 'redak' zamijenjenu riječju 'duh'.


To također možemo učiniti s brojevima redaka:

ali ' 3 , 4 ! s / crta / noć / ja file.txt > noć.txt


U ovom slučaju, redovi 3 i 4 su izostavljeni, ali svaki drugi red ima riječ 'red' zamijenjenu riječju 'noć'.

Višestruke naredbe

Sada, što ako imate više naredbi? Biste li radije to učinili jedan po jedan ili sve odjednom i uštedjeli si vrijeme i posao?

Što ako želimo promijeniti riječ 'prvi' u 'dan', 'drugi' u 'noć', a 'ostali' u 'duh'? Za to koristimo točku-zarez. Ne zaboravite staviti točku i zarez na kraju!

Imajte na umu da ne morate apsolutno staviti oznaku 'i' ili oznaku 'ignore', ali apsolutno morate staviti kosu crtu (/) nakon izraza transformacije.

Sada, provjerimo to na primjeru:

ali ‘s / prvi / dan / ; s / drugi / noć / ; s / treći / duh / ; s / posljednji / duh / ;’ datoteka.txt > kombinacija.txt


Zaključak

Uređivač toka ili SED način je odabira riječi ili uzorka i njegovog transformiranja. To je zapravo ekvivalent naredbenog retka za funkcije 'pronađi' i 'zamijeni' u prozoru. Naredba SED može postati jako komplicirana, ali ako znate barem osnove, spremni ste je prihvatiti! SED je zapravo vrlo moćan alat s mnogo funkcija. Iako ih ne možemo sve pokriti u jednom vodiču, pokrili smo osnove SED-a. U biti, naučili smo kako transformirati određenu riječ pomoću naredbe “s” gdje “s” označava zamjenu. Riječi možemo zamijeniti drugim riječima, selektivno odabrati redak u kojem će se zamjena dogoditi ili je čak negirati. U svakom slučaju, ovo je najlakši dio o SED-u.

Sretno kodiranje!