sed

sed Käsu stringi asendamiseks failis

sed Käsu stringi asendamiseks failis
Alati, kui töötame mis tahes tüüpi failidega, on nendes failides muudatuste tegemine sõnade otsimise ja asendamise kaudu väga tavaline tava. Enamik tekstiredaktoritest pakub nende muudatuste tegemiseks erinevaid GUI-põhiseid meetodeid. Mõnikord on teil siiski vaja viisi terminali kaudu faili sõnade leidmiseks ja asendamiseks. Seetõttu tutvustame selles artiklis meetodit, kuidas kasutada tekstifailis stringi asendamise käsku sed. Samuti heidame valgust erinevatele stsenaariumidele, milles seda käsku saab kasutada.

Märkus. Kasutame Linux Mint 20-d, et näidata käsu sed kasutamist faili stringi asendamiseks. Soovi korral võite kasutada ka mõnda muud Linuxi maitset.

Sed-i käsu kasutamine:

Nüüd näitame teile väga huvitavaid näiteid sed-käsu kasutamise kujutamiseks Linuxis. Vaatame, kuidas see käsk erinevates stsenaariumides töötab.

Tekstifaili loomine demonstratsiooniks:

Sed-käsu kasutamise demonstreerimiseks soovime töötada tekstifailiga. Kuid saate isegi luua Bash-faili või mõne muu valitud faili. Teiseks loome faili kodukataloogi, et me ei peaks sellele failile juurde pääsemisel määrama keerulisi teid. Tekstifaili loomiseks tuleks teha järgmised toimingud:

Klõpsake failihalduri ikooni, mis asub teie Linux Mint 20 tegumiribal:

Nüüd looge kodukataloogis uus tekstifail, paremklõpsates seal suvalisel kohal ja valides siis kaskaadimenüüst suvandi Uus dokument ja alamkaskaadimenüüst suvandi Tühi dokument. Kui tekstifail on loodud, andke sellele sobiv nimi. Selle konkreetse näite jaoks olen nimetanud seda sed.txt.

Topeltklõpsake sellel failil, et see avada, ja tippige suvaline tekst sellesse, nagu on näidatud alloleval pildil. Salvestage see tekstifail, vajutades Ctrl + S ja sulgege see.

Nüüd käivitage terminal Linux Mint 20-s, nagu on näidatud järgmisel pildil:

Pärast terminali käivitamist Linux Mint 20-s saate kõik allpool nimetatud näited ükshaaval läbi vaadata.

Sed-käsu kasutamine antud sõna kõigi esinemiste asendamiseks:

Käsuga sed saab asendada tekstifailis antud sõna kõik esinemised. Selle eesmärgi saavutamise süntaksi mainitakse allpool:

$ sed 's / sed / FindWord / ReplaceWord /' fail.txt

Siin peate asendama FindWord sõnaga, mille soovite asendada, ja ReplaceWord asendatava sõnaga. Pealegi peate ka "fail" asendama selle faili nimega, kuhu soovite need asendused teha. Selle stsenaariumi korral olen asendanud FindWordi sed-ga ja ReplaceWord asendusega. Meie failinimi oli sed.txt. Seda näidatakse ka järgmisel pildil:

Selle käsu edukas täitmine näitab muudatusi, mis on tekkinud selle käsu käivitamise tõttu teie terminalis:

Käsu sed kasutamine antud sõna n-nda esinemise asendamiseks igas reas:

Ülaltoodud stsenaarium oli kõige lihtsam asendusstsenaarium, kuid mõnikord ei soovi te asendada kõiki sõna esinemissagedusi, vaid soovite kõigis ridades asendada ainult selle sõna esimese, teise või n-nda esinemise. Selleks saate käivitada järgmise käsu:

Fail $ sed '/ FindWord / ReplaceWord / num'.txt

Siin peate asendama FindWord sõnaga, mille soovite asendada, ja ReplaceWord asendatava sõnaga. Pealegi peate ka "fail" asendama selle faili nimega, kuhu soovite need asendused teha. Selle stsenaariumi korral olen asendanud FindWordi asendama ja asendama sõnaga sed. Meie failinimi oli sed.txt. Samuti viitab num asendatava sõna esinemisele või asendile. Näidatud näites tahan asendada esimese asenduse sedaga igal real, nagu on näidatud alloleval pildil:

Selle käsu edukas täitmine näitab muudatusi, mis on tekkinud selle käsu käivitamise tõttu teie terminalis:

Käsu sed kasutamine antud sõna asendamiseks konkreetsel real:

Mõnikord soovite asendada ainult antud sõna konkreetsel real, mitte kogu dokumendis. Selleks peate selgesõnaliselt määrama selle rea numbri järgmises käsus:

$ sed 'LineNum s / FindWord / ReplaceWord /' fail.txt

Siin peate asendama FindWord sõnaga, mille soovite asendada, ja ReplaceWord asendatava sõnaga. Pealegi peate ka "fail" asendama selle faili nimega, kuhu soovite need asendused teha. Selle stsenaariumi korral olen asendanud FindWord sed ja ReplaceWord asendusega. Meie failinimi oli sed.txt. Samuti peate asendama LineNumi selle rea rea ​​numbriga, milles soovite asenduse teha. Selles näites soovisime sed asendada meie faili rea number 2 asendusega, nagu on näidatud järgmisel pildil:

Selle käsu edukas täitmine näitab muudatusi, mis on tekkinud selle käsu käivitamise tõttu teie terminalis. Saate hõlpsasti kontrollida, kas nimetatud muudatused toimusid ainult meie faili real 2 ja mitte kogu tekstis.

Järeldus:

Alati, kui tunnete vajadust asendada mõni fail failis, peate kõigepealt tuvastama oma konkreetse nõude i.e. kas soovite asendada selle konkreetse sõna kogu failis või asendada selle konkreetse sõna konkreetse esinemise või asendada see sõna konkreetsel real. Kui olete oma konkreetse stsenaariumi tuvastanud, saate selles artiklis käsitletud näidete põhjal kasutada seda konkreetset meetodit.

WinMouse võimaldab teil kohandada ja parandada hiirekursori liikumist Windowsi arvutis
Kui soovite oma hiirekursori vaikefunktsioone paremaks muuta, kasutage vabavara WinMouse. See lisab rohkem funktsioone, mis aitavad teil alandlikust h...
Hiire vasakklõps nupp ei tööta Windows 10-s
Kui kasutate oma sülearvuti või lauaarvutiga spetsiaalset hiirt, kuid hiire vasakklõps nupp ei tööta mingil põhjusel operatsioonisüsteemis Windows 10/...
Kursor hüppab või liigub juhuslikult Windows 10-s kirjutamise ajal
Kui leiate, et hiire kursor hüppab või liigub Windowsi sülearvutisse või arvutisse kirjutades automaatselt, juhuslikult, võivad mõned neist soovituste...