sed

Rida lisamine pärast matši, kasutades sõna „sed”?

Rida lisamine pärast matši, kasutades sõna „sed”?

Linuxi üks kasulik ja võimas käsk on käsk “sed”. Seda käsku kasutatakse Linuxis erinevat tüüpi ülesannete täitmiseks, näiteks vaste põhjal konkreetse teksti või rea sisestamine, värskendamine ja kustutamine. Teksti stringi või faili saab sisestada erineval viisil, kasutades käsku „sed”.

Kuidas lisada rida pärast stringi või rea vaste leidmist, on näidatud selles õpetuses.

Sisestage string stringi

Uue rea saab sisestada mis tahes stringi väärtuse järele käsuga “sed”, kui käsus määratletud muster sobib stringi väärtuse mis tahes osaga.

Järgmine näide näitab, kuidas stringi väärtuse järele saab lisada uue rea, kui stringi väärtuses on kindel string olemas.

Näide 1: pärast vaste leidmist sisestage string stringi

Järgmine käsk otsib stringis sõna "inng", "mulle meeldib programmeerimine" ja tekstirida "Kas teile meeldib programmeerida"?”Lisatakse stringi järele, kui otsitav string on olemas.

Siin kasutatakse märki "&" rea lisamiseks stringile.

$ echo "Mulle meeldib programmeerimine."| sed 's / inng / & Kas teile meeldib programmeerida?/ '

Järgmine väljund näitab, et stringi „inng” ei eksisteeri ja stringi järele ei ole rida lisatud.


Järgmine käsk otsib “ing."Stringis" Mulle meeldib programmeerimine "ja see on stringis olemas.

$ echo "Mulle meeldib programmeerida."| sed./ & Kas sulle meeldib programmeerida?/ '

Järgmine väljund näitab, et uus rida lisatakse stringi järele.

Lisage faili rida

Pärast vaste leidmist failis, mida allpool mainitakse, on rida sisestamiseks kaks võimalust. Kui käsku „sed” kasutatakse ilma suvandita -i, jääb faili sisu muutumatuks ja väljund näitab faili sisu koos sisestatud uue reaga. Uue rea püsivaks lisamiseks faili peate kasutama valikut “-i” käsuga “sed”, kui failis on vastav muster.

A. Kasutades käsku „sed” tähte „a”

Tähte „a” saab kasutada „sedi” otsingumustris, et lisada üks või mitu rida failis pärast rida, kus otsingu muster sobib, või konkreetse rea numbri järele.

B. Kasutades käsku „sed” tähte „i”

„I” saab käsu „sed” otsingumustris kasutada ühe või mitme rea lisamiseks faili enne rida, kus otsingumuster sobib.

Lisage joon (t) faili mustri põhjal:

Looge tabulaatoriga eraldatud tekstifail nimega tooted.txt järgmise sisuga, et näidata ülaltoodud lipu kasutusviise käsus “sed”.

tooted.txt

ID nimi
01 Vahukoor
02 Kakaopulber
03 Suhkur
04 Muna
05 Jahu

Näide 2: sisestage rida kindla rea ​​numbri järele tähega „a”

Järgmised käsud näitavad, kuidas saab lisada uut rida toodete kindla rea ​​numbri järel.txt-fail, põhineb käsus “sed” kasutatud mustril.

Siin näitab esimene käsk faili olemasolevat sisu. Käsklus „sed” lisab faili kahe esimese rea järele teksti „b01 küpsetuspulber“. Viimast käsku kasutatakse faili sisu muutmise kontrollimiseks.

$ kassitooted.txt
$ sed '2 a b01 \ tKüpsetuspulbri tooted.txt
$ kassitooted.txt

Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund.

Näide 3: sisestage rida viimase rea järele tähega „a”

Järgmine käsk näitab faili viimase rea järel uue rea lisamise viisi. Esimene ja viimane käsk näitavad faili olemasolevat sisu enne ja pärast käsu “sed” käivitamist. „$” Sümbolit kasutatakse käsu „sed” mustris faili viimase rea mainimiseks.

$ kassitooted.txt
$ sed '$ a b01 \ tKüpsetuspulber' tooted.txt
$ kassitooted.txt

Pärast ülaltoodud käsu käivitamist ilmub järgmine väljund.

Näide 4: pärast mustri sobitamist tähega „a” sisestage rida faili suvalisse kohta

Järgmine käsk “sed” näitab, kuidas saab sobiva mustri põhjal uut rida lisada faili ükskõik kuhu. Käsus “sed” kasutatud muster otsib suvalise rea, mis algab tähega “s01”, ja lisab selle järele uue stringi. Faili neljas rida algab tähega “s01” ja selle rea järele lisatakse uus rida.

$ kassitooted.txt
$ sed '/ ^ s01.* / a b01 \ tKüpsetuspulbri tooted.txt
$ kassitooted.txt

Pärast käsu käivitamist ilmub järgmine väljund.


Järgmine käsk “sed” otsib suvalise rea, mis lõpeb tähega “Powder”, ja sisestab selle järele uue rea. Faili kolmas rida lõpeb tähega “Pulber”. Niisiis, uus rida lisatakse selle rea järele.

$ kassitooted.txt
$ sed '/ pulber $ / a b01 \ tKüpsetuspulber' tooted.txt
$ kassitooted.txt

Pärast ülaltoodud käskude käivitamist ilmub järgmine väljund.

Näide 5: sisestage sobiva mustri järele mitu rida, kasutades a-tähte

Järgmine käsk “sed” näitab viisi, kuidas sobitamise mustri põhjal faili sisusse mitu rida lisada.

Siin lisatakse mustri järgi kolmanda rea ​​järele kaks rida.

$ kassitooted.txt
$ sed '/ ^ [a-c] / a b01 \ tKüpsetuspulber \ nb02 \ tSooda küpsetamine.txt
$ kassitooted.txt

Pärast ülaltoodud käskude käivitamist ilmub järgmine väljund.

Näide 6: sisestage joon pärast mustri sobitamist tähega „I”

$ kassitooted.txt
$ sed '/ cream / i b01 \ tKüpsetuspulber' tooted.txt
$ kassitooted.txt

Pärast ülaltoodud käskude käivitamist ilmub järgmine väljund.

Näide 7: sisestage joon püsivalt pärast sobivat mustrit, kasutades valikut “-i”

Järgmine käsk “sed” näitab, kuidas faili sisu jäädavalt muuta. Suvandit “i” kasutatakse käsuga “sed”, et lisada mustrisse põhinev faili uus rida.

$ kassitooted.txt
$ sed -i '/ e $ / a g01 \ tGhee' tooted.txt
$ kassitooted.txt

Pärast ülaltoodud käskude käivitamist ilmub järgmine väljund.

Järeldus:

Selles õpetuses on näidatud viisid, kuidas sisestada faili kahte või enamat rida mustriga käsu “sed” abil, mis aitab lugejal rakendada seda käsku ridade ajutiseks või püsivaks lisamiseks mustri põhjal.

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