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.txtSiin 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'.txtSiin 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.txtSiin 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.