Bash Poista viimeiset x merkkiä merkkijonosta

Bash Remove Last X Characters From String

Joskus joudutaan poistamaan kirjaimet joko merkkijonosta. Juuri tilanteessa Linux voi sisältää useita sisäänrakennettuja hyödyllisiä työkaluja kirjainten poistamiseen tällaisesta tekstistä Bashissa. Tämä artikkeli osoittaa, kuinka kirjaimet poistetaan joko merkkijonosta käyttämällä näitä menetelmiä. Tässä viestissä ohjeet ajettiin Ubuntu 20.04 Focal Fossassa. Samat ohjeet voidaan suorittaa missä tahansa Linux -järjestelmässä, johon on asennettu edellä mainitut apuohjelmat. Ohjeiden suorittamiseen käytämme tavallista päätelaitetta. Ctrl+Alt+T -pikanäppäin avaa Terminal -työkalun.

Menetelmä 01: Substring Way

Ensimmäinen tapa poistaa kirjaimet tai merkit merkkijonosta on enemmän kuin alijonon luominen alkuperäisestä. Samaan aikaan terminaali on jo avattu; teemme bash -tiedoston bash -koodin lisäämiseksi. Jotta voimme tehdä merkkien poistamisen tai alimerkkijonon tekemisen siihen. Joten olemme käyttäneet kuorimme sisäänrakennettua kosketusohjetta bash-tiedoston luomiseen.





Koska tiedosto on luotu nopeasti Ubuntu 20.04: n kotikansioon, avaa se jossakin editorissa muokattavaksi. Joten, valitsemme GNU -editorin avataksesi file.sh -asiakirjan alla.



Kopioi alla oleva koodi. Tämä koodi sisältää bash -laajennuksen alussa, ja sen jälkeen olemme ilmoittaneet merkkijonomuuttujan val merkkijonolla. Toisella rivillä käytämme kaikuilmausta tämän muuttujan näyttämiseen päätelaitteessa. Varsinainen tehtävä alkaa tästä. Olemme alustaneet muuttujan uuden ja antaneet sille arvon, joka on alkuperäisen muuttujan valin alijono. Olemme tehneet sen mainitsemalla kaksoispisteiden jälkeen aaltosulkeissa -14. Tämä kertoo kääntäjälle, että sen on poistettava viimeiset 14 kirjainta alkuperäisestä merkkijonosta FirstWorldCountries. Loput kirjaimet tallennetaan muuttujaan new. Viimeisellä rivillä kaiun avulla on tulostettu uusi muuttuja uusi.



Tiedoston file.sh asianmukainen suorittaminen bash -komennolla tulee odotetulla tavalla. Ensinnäkin se näyttää ensimmäisen merkkijonomuuttujan arvon val ja sen jälkeen se näyttää ensimmäisen muuttujan vasta luodun merkkijonon arvon näytetyn tuloksen mukaisesti.

Menetelmä 02: Erikoismerkkien käyttäminen

Toinen yksinkertainen ja helpompi tapa poistaa viimeiset kirjaimet tai merkit mistä tahansa merkkijonosta on erikoismerkkien tai merkkien, esim. Prosentti- ja kysymysmerkkisymbolien, kautta. Joten tällä kertaa käytämme prosenttiosuutta ja kysymysmerkkiä merkkien poistamiseksi mistä tahansa merkkijonosta. Siksi olemme jo avanneet saman tiedoston bash -komentosarjan päivittämiseksi GNU Nano -editorilla. Yleinen koodi on sama, mutta muuttuva uusi osa on hieman erilainen. Olemme käyttäneet prosenttimerkkiä ilmoittaaksemme järjestelmälle, että mainitut kysymysmerkkiluvut edustavat muuttujan val merkkejä, jotka poistetaan tämän prosenttiosuuden merkin jälkeen. Näet, että olemme lisänneet 9 kysymysmerkkisymbolia. Tämä tarkoittaa, että merkkijonon FirstWorldCountries 9 viimeistä merkkiä poistetaan ja jäljellä oleva merkkijono on FirstWorld. Tämä jäljellä oleva merkkijono tallennetaan sitten muuttujaan new.

Kun olemme suorittaneet päivitetyn bash -tiedoston, tulos tulee odotetusti. Se näyttää alkuperäisen merkkijonon ensimmäisestä muuttujasta ja toisen muuttujan arvon, joka on luotu muuttujasta val.

Menetelmä 03: Sedin käyttö

Sed on hyödyllinen ja tehokas työkalu tekstisekvenssien muuttamiseen. Se on ei-vuorovaikutteinen kehitysympäristö, jonka avulla voit syöttää tietoja ja tehdä yksinkertaisia ​​tekstimuunnoksia. Voit myös käyttää sediä poistaaksesi kirjaimia teksteistä, joita et halua. Käytämme esimerkkijonoa ja reititämme sen sed -komentoon havainnollistamistarkoituksessa. Voit poistaa tietyn merkin jonosta merkkijonosta, jossa on sed. Joten olemme käyttäneet merkkijonon yksinkertaista riviä echo -lauseessa. Olemme käyttäneet sediä poistamaan A -kirjain mainitusta merkkijonosta. Muista noudattaa syntaksia 's/string_to_be_removed //'. Tulos osoittaa, että kirjain A on poistettu.

Koko sanan Aqsa poistamiseksi olemme maininneet sanan ensimmäisen ja viimeisen merkin, jossa on pisteitä, jotka edustavat puuttuvia kirjaimia. Tulos näyttää merkkijonon, jossa sana Aqsa poistetaan.

Jos haluat poistaa merkkijonosta viimeisen merkin määrän, mainitse vaadittujen pisteiden määrä dollarisymbolin edessä, kuten kuvassa.

Menetelmä 04: Käyttämällä Awk

Awk on hienostunut skriptikieli, jota voidaan käyttää kuvioiden sovittamiseen ja tekstien käsittelyyn. Voit käyttää Awk -toimintoa syötteen siirtämiseen ja muokkaamiseen useilla eri tavoilla. Voit myös poistaa kirjaimia merkkijonoista käyttämällä awk -toimintoa. Awk näyttää hieman erilaiselta kuin sed. Tällä kertaa olemme vaihtaneet merkkijonon Aqsa Yasinilla. Awk -toiminto luo alimerkkijonon substr -menetelmän kautta ja tulostaa sen päätelaitteeseen. Funktion pituutta on käytetty osoittamaan mainitusta merkkijonosta poistettujen kirjainten määrä. Tässä pituus ($ 0) -5 tarkoittaa merkkijonon viiden viimeisen merkin poistamista, ja loput ovat osa tulostettavaa alijonoa.

Olemme yrittäneet poistaa viimeiset yhdeksän merkkiä Aqsa Yasin -merkkijonosta ja saaneet A -merkkijonon.

Menetelmä 05: Leikkauksen käyttö

Cut näyttää olevan komentoriviltä apuohjelma tekstin palauttamiseksi tällaisesta lauseesta tai asiakirjasta ja sen tulostaminen vakiotulosteeseen. Tätä toimintoa voidaan käyttää myös kirjainten poistamiseen jonkinlaisesta merkkijonosta. Käytämme esimerkkilausetta ja välitämme sen leikkausohjeeseen testausta varten. Joten olemme käyttäneet Aqsa Yasin -lausetta ja välittäneet sen leikkauskyselyyn. Lippun –c jälkeen olemme määrittäneet merkkijonon hakemiston, jolla leikataan merkit mainitusta merkkijonosta. Se näyttää merkit hakemistosta 1 indeksiin 5. Indeksi 5 on jätetty pois täältä. Tulos näyttää neljä ensimmäistä merkkiä Aqsa -muodossa.

Tällä kertaa käytämme leikkausohjeita eri tavalla. Olemme käyttäneet rev -funktiota merkkijonon kääntämiseen. Merkkijonon kääntöpuolen jälkeen leikkaamme merkkijonon ensimmäisen merkin. Lippu -c2 -tarkoittaa, että alimerkkimme on edelleen merkki 2. Tämän jälkeen käänteistoimintoa käytetään jälleen merkkijonon palauttamiseen. Joten tällä kertaa saimme alkuperäisen merkkijonon takaisin poistamalla viimeisen merkin.

Jos haluat poistaa viimeiset 7 merkkiä, sinun on vain mainittava -c7 -leikkauskomennossa, kun käytät myös käänteistä toimintoa.

Johtopäätös:

Perustehtävän suorittamiseen Linuxissa on aikaa useampi kuin yksi tapa. Samoin on mahdollista poistaa merkkejä tekstistä. Tämä artikkeli esitteli viisi erilaista tapaa poistaa ei -toivotut merkit merkkijonosta sekä joitakin tapauksia. Valitsemasi työkalu riippuu täysin valinnastasi ja mikä tärkeintä, mitä haluat saavuttaa.