Sed: Saznajte ovaj klasični alat za obradu teksta

Objava: Vaša podrška pomaže održavanju web mjesta! Naplaćujemo naknadu za preporuku za neke usluge koje preporučamo na ovoj stranici.


Sed je uslužni program i jednostavan skriptni jezik koji se koristi za uređivanje teksta. Naziv je kratica od “uređivača struje”, a svrha mu je doista uređivanje ulaznih tokova – obično pojedinačni retci u datoteci ili pojedinačni tokovi iz stdina (standardni ulaz).

Jezik nije nevjerojatno moćan. Iako je sed Turing potpun, uopće nije učinkovit za bilo koji stvarni programski zadatak – na primjer, ima samo dvije dostupne varijable. To je, međutim, vrlo korisno za programsko pronalaženje i uređivanje obrazaca teksta u datotekama, iz naredbenog retka ili sa skripte u ljusci.

Najvažnija naredba sed je s, a to je naredba zamjene. Naredba uzima dva argumenta, plus zastavicu opcija. Na primjer, ako želite ispraviti svaku instancu britanske pravopisne boje u američku “boju”, a ispravljenu verziju upisati u novu datoteku, iz naredbenog retka možete učiniti sljedeće:

sed s / boja / boja / g new.file

Brzo objašnjenje:

  • S / započinje naredbu za zamjenu.
  • Ono što postoji između prvog para kosog dijela, oblik se treba slagati. U ovom slučaju to je riječ “boja”, ali bi mogao biti i uobičajeni izraz – obrazac, a ne određeni niz znakova.
  • Nakon što se uzorak podudara je zamjenski niz.
  • G znači “globalno”, ili “učini to svaki put, a ne samo prvi put.”

I uzorak koji odgovara i zamjena mogu biti promjenjivi. Ako je uzorak odgovara uobičajenom izrazu, a želite ga izmijeniti (ne samo zamijeniti), možete upotrijebiti ampersand ( & ) za označavanje podudarnog uzorka. Na primjer, pretpostavimo da ste htjeli sve URL-ove običnog teksta pretvoriti u HTML hiperveze. To možete učiniti:

sed ‘s_http [:] // [^] * _&_”

  • Ovo koristi crtač podvlake umjesto kosog sloja kako biste olakšali čitanje sa svim crtama koje su već prisutne u URL-ovima..
  • Obrazac koji se podudara redoviti je izraz koji se podudara s dobro oblikovanim URL-ovima (iako ograničeno).
  • Zamjena stvara sidrenu oznaku sa podudarnim uzorkom (URL) u href atributu i tekstu oznake.

Ovakva vrsta pronalaska i zamjene bila je prvotni razlog izuma sed, i dalje je najčešća upotreba.

Sed Resursi i udžbenici

  • Sed – uvod i vodič u Grymoire čarobnjaka Unix-a, pruža sjajan uvod i referencu na sed;
  • Sed Tutorial je pristojan uvod koji objašnjava neke od zakulisnih djela koja sed radi;
  • Tutorial Sed u Tutorials Point vrlo je jasan i metodičan prolazak kroz najvažnije sed koncepte;
  • Korištenje Seda je odličan dvodijelni tutorial iz Digital Ocean-a;
  • YouTuber Kris Occhipinti ima 18-dijelni video vodič;
  • Sed-Tutorial iz LinuxHowtosa je mali, ali koristan vodič za sed;
  • Sed Subreddit nije baš aktivan, ali mnoštvo sed (i srodnih) pitanja pojavljuju se na regexu i podredditsima naredbenog retka;

Knjige o Sed

  • sed & Awk (1997) Dougherty i Robbins, klasični je tekst o dva najvažnija alata za tekst teksta; ako na sed možete čitati samo jednu stvar, vjerojatno je ta koja treba pročitati; pogledajte i zgodnog suputnika Aeda & Awk Pocket Reference;
  • Definitivni vodič za sed: udžbenik i referenca (2013) Daniela Goldmana pruža mnogo suvremeniju perspektivu upotrebe sed, s posebnim naglaskom na GNU sed (gsed);
  • Zbirka Ksh, Awk i Sed Script: Ovladavanje Unix programiranjem kroz praktične primjere () Stevea Myersa kuharica je korisnih skripti školjki.

Sed vs Awk i druge mogućnosti

Alat sed samo je jedna od mnogih opcija za pretraživanje i manipuliranje tekstom iz naredbenog retka ili u skriptama školjke. Awk je najčešće uspoređivan, ali postoji i grep. Uz to možete upotrijebiti robusnije jezike skriptiranja poput Perl ili Python.

Evo nekoliko resursa koji će vam pomoći da odredite koji je alat najbolji za vaše potrebe pretraživanja teksta i uređivanja na mjestu:

  • Grep vs Sed vs Awk: Što bi stručni / napredni Linux Shell korisnik trebao znati je fantastičan članak koji opisuje tri glavna alata za obradu teksta, s puno detalja o tome kada trebate koristiti koji;
  • Kada koristiti Sed / Awk Over Perl ili Python je forumska objava s izvrsnim razgovorom o tome kada koristiti cjelovite jezike skriptiranja u odnosu na jednostavnije alate za obradu teksta;
  • Funkcijske i izvedbene razlike Sed, Awk i ostalih Unix Parsing Utilities pruža detaljnu tehničku usporedbu, uključujući napomene o brzini;
  • Kakva je razlika između Seda i Awka? na StackExchange-u smatran je “off-topic”, ali na sreću je malo korisnika ipak pružilo vrlo korisne odgovore; ako nemate vremena za gore opisana detaljnija objašnjenja, ova stranica pruža najbolji pregled u 30 sekundi.

Knjige i izvori o srodnim temama

Da biste učinkovito koristili sed, potrebne su vam vještine u dva povezana područja: pravilni izrazi i skriptiranje školjki općenito. Evo nekoliko knjiga i mrežnih tutorijala koji će vam pomoći da zaokružite svoje sposobnosti.

Uz ove resurse, trebali biste provjeriti i naše stranice na temu Awk i Bash.

knjige

  • Uvođenje regularnih izraza (2012) Michaela Fitzgeralda vrlo je koristan uvodni tekst koji ovu potencijalno zastrašujuću temu čini lako razumljivom; također uključuje skriptiranje sjedala, kao i informacije o upotrebi regexa u Perlu
  • Ovladavanje regularnim izrazima (2006) Jeffrey Friedl vaš je izvor za sljedeću razinu, nakon uvodnog teksta iznad;
  • Classic Shell Scripting (2005.) Robbins and Beebe knjiga je koja pokriva najvažnije Unix naredbene linije i alate za skriptiranje, uključujući sed; Arnold Robbins, jedan od autora, također je koautor klasičnog Seda & Awk knjiga navedena gore.

Internetski resursi

Postoji mnogo internetskih izvora o tim temama. Evo nekoliko najkorisnijih:

  • RegExr je mrežni alat za učenje, izgradnju i testiranje regularnih izraza;
  • RegEx101 je još jedan internetski ispitivač regularnih izraza, s ugrađenim varalicama i korisnim analizama povratnih informacija;
  • Regex varalica pruža sveobuhvatnu referencu jer kada trebate znati koji naizgled slučajni niz znakova trebate upisati da biste pronašli naizgled slučajni niz znakova koje tražite;
  • Spomenuti Grymoire je obilje informacija za skripte Unix-a;
  • Linux Shell Scripting Tutorial jedan je od najboljih tutorijala za učenje Bash-a na mreži.

Sažetak

Bilo je vremena kada su gotovo svi ozbiljni korisnici računala poznavali alate naredbenog retka poput sed. Za dobro ili loše, vrijeme je odavno prošlo. Danas čak i mnogi napredni programeri ne znaju kako koristiti ove temeljne alate.

Međutim, ako ste zainteresirani za stvarno maksimiziranje svoje učinkovitosti kao korisnika energije – posebno u okruženju Linux, Unix ili Mac – dobro je rukovanje u naredbenoj liniji. Ovo je posebno korisno ako napravite bilo kakav web razvoj ili administraciju, budući da se većina web-mjesta pokreće na Linux poslužiteljima, a većina upravljanja udaljenim poslužiteljem vrši se u naredbenom retku..

Sed, koji je uključen u gotovo svaki operativni sustav poput Linuxa i Unixa, može vam pomoći pronaći ono što tražite. Ako nemate jednostavne alate za pretraživanje stolnog računala, to može postati neophodno. Nije to teško naučiti i nikada vam neće biti žao što znate koristiti ovaj klasični alat.

Daljnje čitanje i izvori

Imamo više vodiča, tutorijala i infografika vezanih uz računala:

  • Linux Programiranje Uvod i resursi: ovaj duboki zaron u Linux programiranje spušta se u jezgru gdje je sva radnja.
  • Resursi za programiranje Bash-a: započnite s najvažnijom Unix ljuskom naredbenog retka.
  • Awk Resursi: Saznajte sve o sestrinom sestrinom alatu Awk.

Ultimate popis alata za webmastere A-Z

Sed i Awk i Bash samo su dio velike zbirke alata koji administratorima sustava omogućuju upravljanje operativnim sustavima. Ultimate popis alata za webmastere A-Z pružit će vam mnogo pomoći u obavljanju vašeg posla.

Ultimate popis alata za webmastere A-Z
Ultimate popis alata za webmastere A-Z

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map