Yksi Linuxin hyödyllisistä ja tehokkaista komennoista on “sed” -komento. Tätä komentoa käytetään erityyppisten tehtävien suorittamiseen Linuxissa, kuten tietyn tekstin tai rivin lisääminen, päivittäminen ja poistaminen ottelun perusteella. Voit lisätä tekstiä merkkijonoon tai tiedostoon eri tavoin "sed" -komennolla.
Kuinka lisätä viiva löytäessäsi osuman merkkijonosta tai rivistä, näkyy tässä opetusohjelmassa.
Lisää rivi merkkijonoon
Uusi rivi voidaan lisätä minkä tahansa merkkijonon arvoon "sed" -komennolla, jos komennossa määritelty malli vastaa mitä tahansa merkkijonon osaa.
Seuraava esimerkki osoittaa, kuinka uusi rivi voidaan lisätä merkkijonon arvon jälkeen, jos tietty merkkijono on missä tahansa merkkijonon arvossa.
Esimerkki 1: Lisää rivi merkkijonoon vastaavuuden löytämisen jälkeen
Seuraava komento etsii merkkijonosta ”inng”, ”pidän ohjelmoinnista” ja tekstiriviltä ”Pidätkö ohjelmoinnista?”Lisätään merkkijonon perään, jos etsivä merkkijono on olemassa.
Tässä merkkiä “&” käytetään rivin lisäämiseen merkkijonon jälkeen.
$ echo "Pidän ohjelmoinnista."| sed 's / inng / & Pidätkö ohjelmoinnista?/ 'Seuraava tulos osoittaa, että merkkijonossa ei ole ”inng” eikä merkkijonon jälkeen lisätä riviä.
Seuraava komento etsii “ing."Merkkijonossa" pidän ohjelmoinnista "ja se on olemassa merkkijonossa.
Seuraava tulos osoittaa, että uusi rivi lisätään merkkijonon jälkeen.
Lisää rivi tiedostoon
On kaksi tapaa lisätä viiva sen jälkeen, kun ottelu löytyy alla mainitussa tiedostossa. Kun "sed" -komentoa käytetään ilman "-i -vaihtoehtoa", tiedoston sisältö pysyy muuttumattomana ja tuloste näyttää tiedostosisällön lisätyn uuden rivin kanssa. Sinun on käytettävä "-i" -vaihtoehtoa "sed" -komennolla uuden rivin lisäämiseksi pysyvästi tiedostoon, jos vastaava malli on tiedostossa.
A. "A": n käyttö "sed" -komennossa
A-kirjainta voidaan käyttää sedin hakukuviossa lisäämään yksi tai useampi rivi tiedostoon sen rivin jälkeen, jolla hakukuvio vastaa, tai tietyn rivinumeron jälkeen.
B. "I": n käyttö "sed" -komennossa
"I": tä voidaan käyttää "sed" -komennon hakukuviossa lisätä yksi tai useampi rivi tiedostoon ennen riviä, jolla hakukuvio vastaa.
Lisää rivi (t) tiedostoon kuvion perusteella:
Luo sarkaimilla erotettu tekstitiedosto nimeltä Tuotteet.txt seuraavalla sisällöllä näyttääksesi yllä olevan lipun käyttötarkoitukset ”sed” -komennossa.
Tuotteet.txt
Tunnuksen nimi01 Vatka kerma
02 Kaakaojauhe
03 Sokeri
04 Muna
05 Jauhot
Esimerkki 2: Lisää rivi tietyn rivinumeron eteen käyttämällä a-kirjainta
Seuraavat komennot osoittavat, kuinka uusi rivi voidaan lisätä tietyn rivin tuotteiden jälkeen.txt-tiedosto "sed" -komennossa käytetyn mallin perusteella.
Tässä ensimmäinen komento näyttää tiedoston olemassa olevan sisällön. "Sed" -komento lisää tekstin "b01 leivinjauhe" tiedoston kahden ensimmäisen rivin jälkeen. Viimeistä komentoa käytetään tarkistamaan, onko tiedostosisältö muuttunut.
$ kissatuotteet.txt$ sed '2 a b01 \ tLeivinjauhe' tuotteet.txt
$ kissatuotteet.txt
Seuraava lähtö tulee näkyviin yllä olevan komennon suorittamisen jälkeen.
Esimerkki 3: Lisää rivi viimeisen rivin jälkeen käyttämällä a-kirjainta
Seuraava komento näyttää tavan lisätä uusi rivi tiedoston viimeisen rivin jälkeen. Ensimmäinen ja viimeinen komento näyttävät tiedoston olemassa olevan sisällön ennen ”sed” -komennon suorittamista ja sen jälkeen. Symbolia "$" käytetään "sed" -komennon mallissa tiedoston viimeisen rivin mainitsemiseksi.
$ kissatuotteet.txt$ sed '$ a b01 \ tLeivinjauhe' tuotteet.txt
$ kissatuotteet.txt
Seuraava lähtö näkyy yllä olevan komennon suorittamisen jälkeen.
Esimerkki 4: Lisää rivi mihin tahansa tiedostoon, kun olet sopinut malliin käyttämällä a-kirjainta
Seuraava ”sed” -komento näyttää kuinka uusi rivi voidaan lisätä mihin tahansa tiedostoon vastaavan mallin perusteella. Sed-komennossa käytetty malli etsii mitä tahansa riviä, joka alkaa s01: stä, ja lisää uuden merkkijonon sen jälkeen. Tiedoston neljäs rivi alkaa ”s01”, ja uusi rivi lisätään kyseisen rivin jälkeen.
$ kissatuotteet.txt$ sed '/ ^ s01.* / a b01 \ tLeivinjauhe-tuotteet.txt
$ kissatuotteet.txt
Seuraava tulos tulee näkyviin komennon suorittamisen jälkeen.
Seuraava ”sed” -komento etsii kaikki ruudut, jotka päättyvät sanalla “Jauhe”, ja lisää uusi rivi sen jälkeen. Tiedoston kolmas rivi päättyy jauheeseen. Joten uusi rivi lisätään kyseisen rivin jälkeen.
$ sed '/ jauhe $ / a b01 \ tLeivinjauhe' tuotteet.txt
$ kissatuotteet.txt
Seuraava lähtö näkyy yllä olevien komentojen suorittamisen jälkeen.
Esimerkki 5: Lisää useita rivejä vastaavan kuvion jälkeen käyttämällä a-kirjainta
Seuraava ”sed” -komento näyttää tavan lisätä useita rivejä tiedoston sisältöön vastaavan mallin perusteella.
Tässä lisätään kaksi riviä kolmannen rivin jälkeen kuvion mukaan.
$ kissatuotteet.txt$ sed '/ ^ [a-c] / a b01 \ tLeivinjauhe \ nb02 \ tPaistosoodan tuotteet.txt
$ kissatuotteet.txt
Seuraava lähtö näkyy yllä olevien komentojen suorittamisen jälkeen.
Esimerkki 6: Lisää viiva, kun olet sopinut malliin käyttämällä I-kirjainta
$ kissatuotteet.txt$ sed '/ cream / i b01 \ tLeivinjauhe' tuotteet.txt
$ kissatuotteet.txt
Seuraava lähtö näkyy yllä olevien komentojen suorittamisen jälkeen.
Esimerkki 7: Lisää viiva pysyvästi vastaavan mallin jälkeen käyttämällä -i-vaihtoehtoa
Seuraava ”sed” -komento näyttää, miten tiedoston sisältöä muutetaan pysyvästi. "I" -vaihtoehtoa käytetään "sed" -komennon kanssa uuden rivin lisäämiseksi tiedostoon kuvion perusteella.
$ kissatuotteet.txt$ sed -i '/ e $ / a g01 \ tGhee' -tuotteita.txt
$ kissatuotteet.txt
Seuraava lähtö näkyy yllä olevien komentojen suorittamisen jälkeen.
Päätelmä:
Tässä opetusohjelmassa on esitetty tapoja lisätä kaksi tai useampia rivejä tiedostoon käyttämällä sed-komentoa mallilla.