BASH-ohjelmointi

Hahmojen poistaminen merkkijonosta Bashissa

Hahmojen poistaminen merkkijonosta Bashissa

Joskus joudut ehkä poistamaan merkkejä merkkijonosta. Mikä tahansa syy onkin, Linux tarjoaa sinulle erilaisia ​​sisäänrakennettuja, käteviä työkaluja, joiden avulla voit poistaa merkkejä merkkijonosta Bashissa. Tässä artikkelissa kerrotaan, kuinka näiden työkalujen avulla voit poistaa merkkejä merkkijonosta.

Artikkelissa käsitellään seuraavien toimenpiteiden suorittamista:

Tässä artikkelissa esitetyt komennot suoritettiin Ubuntu 20: ssa.04 Focal Fossa. Samat komennot voidaan suorittaa myös muille Linux-jakeluille, joilla yllä olevat työkalut ovat käytettävissä. Käytämme komentojen suorittamiseen oletusarvoista Terminal-sovellusta. Pääset päätelaitteeseen Ctrl + Alt + T -näppäimistön avulla.

Poista merkit merkkijonosta käyttämällä sed

Sed on tehokas ja kätevä apuohjelma, jota käytetään tekstivirran muokkaamiseen. Se on ei-vuorovaikutteinen tekstieditori, jonka avulla voit suorittaa perustekstitiedostoja syötevirroille. Voit myös käyttää sediä poistamaan ei-toivotut merkit merkkijonoista.

Esittelytarkoituksiin käytämme esimerkkijonoa ja putketaan se sitten sed -komentoon.

Poista tietty merkki merkkijonosta

Sed-toiminnolla voit poistaa tietyn merkin merkkijonosta. Esimerkiksi, jos haluat poistaa "h" merkkijonosta "Hei, kuinka voit?”Komento olisi:

$ echo "hei, kuinka voit?"| sed 's / h //'

Tämä poistaa vain merkkijonon ensimmäisen esiintymän.

Poista kaikki h: n esiintymät merkkijonosta seuraavalla komennolla:

$ echo "hei, kuinka voit?"| sed 's / h // g'

Missä g tarkoittaa globaalia. Se poistaa kaikki h: n esiintymät merkkijonosta.

Poista ensimmäinen merkki merkkijonosta

Ensimmäisen merkin poistaminen merkkijonosta “Hei, kuinka voit?” komento olisi:

$ echo "hei, kuinka voit?"| sed 's / ^.// 'tiedosto

Missä (.) vastaa täsmälleen yhtä merkkiä ja (^) vastaa mitä tahansa merkkijonon alussa olevaa merkkiä.

Poista viimeinen merkki merkkijonosta

Viimeisen merkin poistaminen merkkijonosta “Hei, kuinka voit?” komento olisi:

$ echo "hei, kuinka voit?"| sed 's /.$ // '

Missä (.) vastaa täsmälleen yhtä merkkiä ja ($) vastaa mitä tahansa merkkijonon lopussa olevaa merkkiä.

Poista ensimmäinen ja viimeinen merkki merkkijonosta

Ensimmäisen ja viimeisen merkin poistaminen merkkijonosta “Hei, kuinka voit?” komento olisi:

$ echo "hei, kuinka voit?"| sed 's / ^.//; s /.$ // '

Poista merkit merkkijonosta awk-sovelluksella

Awk on tehokas komentosarjakieli, jota käytetään kuvien sovittamiseen sekä tekstinkäsittelyyn. Awk antaa sinun suodattaa ja muuntaa tekstiä eri tavoin. Voit myös käyttää awk-näppäintä poistaaksesi merkkejä merkkijonoista.

Esittelytarkoituksiin käytämme esimerkkijonoa ja siirrämme sen sitten awk-komentoon.

Poista ensimmäinen merkki merkkijonosta

Ensimmäisen merkin poistaminen merkkijonostaHei, kuinka voit?” komento olisi:

$ echo "hei, kuinka voit?"| awk 'print substr ($ 0, 2)'

Missä ($ 0) on koko kohdemerkkijono ja (2) on merkin alkupiste. Yllä oleva komento poistaa ensimmäisen merkin, 'h', merkin numeron '1' ja palauttaa kohdemerkkijonon, joka alkaa toisesta merkistä 'e.'

Poista kaksi ensimmäistä merkkiä merkkijonosta

Voit myös poistaa tietyn määrän merkkejä merkkijonon alusta. Esimerkiksi kahden ensimmäisen merkin poistaminen merkkijonostaHei, kuinka voit?” komento olisi:

$ echo "hei, kuinka voit?"| awk 'print substr ($ 0, 3)'

Yllä oleva komento poistaa kaksi ensimmäistä merkkiä, 'he', tai merkkinumerot '1 ja 2' ja palauttaa kohdemerkkijonon, joka alkaa merkinumerolla '3' tai 'l.'

Poista viimeinen merkki merkkijonosta

Viimeisen merkin poistaminenHei, kuinka voit?” komento olisi:

$ echo "hei, kuinka voit?"| awk 'print substr ($ 0, 1, pituus ($ 0) -1)'

Missä pituus (0 dollaria) -1 tarkoittaa vähentämistä '1'merkin kokonaispituudesta.

Yllä oleva komento tulostaa merkkijonon, joka alkaa merkin numerolla '1' aikeissa pituus (0 dollaria) -1 riisua viimeinen merkki.

On '19'merkkejä (välilyönnit mukaan lukien) yllä olevassa merkkijonossa. Komento toimii tulostamalla kaikki merkit, alkaen merkistä '1"ja luonteeseen asti"18,'samalla kun poistetaan viimeinen merkki'19.'

Poista kaksi viimeistä merkkiä merkkijonosta

Kahden viimeisen merkin poistaminenHei, kuinka voit?”Komento olisi:

$ echo "hei, kuinka voit?"| awk 'print substr ($ 0, 1, pituus ($ 0) -2)'

Missä pituus (0 dollaria) -2 tarkoittaa vähentämistä '2'merkin kokonaispituudesta.

Yllä oleva komento tulostaa merkkijonon, joka alkaa merkinumerolla '1'ja merkkiin asti'pituus (0 dollaria) -2,'poistaa merkkijonon kaksi viimeistä merkkiä.

Poista sekä ensimmäinen että viimeinen merkki merkkijonosta

Sekä ensimmäisen että viimeisen merkin poistaminen merkkijonosta “Hei, kuinka voit?” komento olisi:

$ echo "hei, kuinka voit?"| awk 'print substraatti (0, 2 dollaria, pituus (0 dollaria) - 2)'

Missä pituus (0 dollaria) -2 tarkoittaa vähentämistä '2'merkin kokonaispituudesta.

Yllä oleva komento tulostaa merkkijonon, joka alkaa merkinumerolla '2'merkkiin asti'pituus (0 dollaria) -2,'poistaa ensimmäisen ja viimeisen merkin.

Poista merkki merkkijonosta käyttämällä leikkausta

Leikkaa on komentorivityökalu, jota käytetään yleisesti poimimaan osa tekstistä merkkijonosta tai tiedostosta ja tulostamaan tulos vakiotulosteeseen. Voit käyttää tätä komentoa myös merkkien poistamiseen merkkijonosta.

Esittelytarkoituksiin käytämme esimerkkijonoa ja liitämme sen sitten leikkauskomentoon.

Poista ensimmäinen merkki merkkijonosta

Poista ensimmäinen merkki merkkijonosta seuraavasti:Hei, kuinka voit?” komento olisi:

$ echo "hei, kuinka voit?"| leikkaus -c 2-

Tämä komento tulostaa merkkijonon, joka alkaa toisesta merkistä, samalla kun se poistaa ensimmäisen merkin.

Poista neljä ensimmäistä merkkiä merkkijonosta

Neljän ensimmäisen merkin poistaminen merkkijonosta “Hei, kuinka voit?” komento olisi:

$ echo "hei, kuinka voit?"| leikkaus -c 5-

Tämä komento tulostaa merkkijonon viidennestä merkistä alkaen ja poistaa samalla neljä ensimmäistä merkkiä.

Tulosta merkkijono 2. ja 5. merkin välillä

Merkkijonon tulostaminenHei, kuinka voit?” toisen ja viidennen merkin välillä, komento olisi:

$ echo "hei, kuinka voit?"| leikkaus -c 2-5

Tämä komento tulostaa merkkijonon, alkaen toisesta merkistä ja viidenteen merkkiin, samalla kun poistetaan jäljellä olevat alku- ja loppumerkit.

Poista viimeinen merkki merkkijonosta

Viimeisen merkin poistaminen merkkijonosta “Hei, kuinka voit?” Käytä leikata komento rev, seuraavasti:

$ echo "hei, kuinka voit?"| rev | cut -c2- | rev

Tämä komento toimii kääntämällä ensin merkkijono, leikkaamalla sitten ensimmäinen merkki ja lopuksi kääntämällä se uudelleen saadaksesi halutun tuloksen.

Poista viimeiset neljä merkkiä merkkijonosta

Viimeisten neljän merkin poistaminen riviltä “Hei, kuinka voit?” komento olisi:

$ echo "hei, kuinka voit?"| rev | cut -c5- | rev

Tämä komento toimii kääntämällä ensin merkkijono, leikkaamalla sitten neljä ensimmäistä merkkiä ja kääntämällä se sitten uudelleen saadaksesi halutun tuloksen.

Poista ensimmäinen ja viimeinen merkki merkkijonosta

Ensimmäisen ja viimeisen merkin poistaminen merkkijonosta “Hei, kuinka voit?” Käytä leikata komento rev, seuraavasti:

$ echo "hei maailma!"| leikkaa -c2- | rev | leikkaa -c2- | tark

Tämä komento toimii leikkaamalla ensimmäinen merkki, kääntämällä merkkijono päinvastaiseksi ja leikkaamalla sen ensimmäinen merkki ja kääntämällä se sitten uudelleen antamaan sinulle haluttu tulos.

Poista merkki merkkijonosta käyttämällä tr

Tr-komentoa (lyhenne käännöksestä) käytetään merkkien kääntämiseen, puristamiseen ja poistamiseen merkkijonosta. Voit myös poistaa merkkejä merkkijonosta tr: n avulla.

Esittelytarkoituksiin käytämme näytemerkkijonoa ja putketaan se sitten komentoon tr.

Poista kaikki merkkien esiintymät

Komennolla tr voit poistaa merkkijonosta kaikki pienet tai isot merkit. Esimerkiksi, jos haluat poistaa kaikki pienet merkit 'h' merkkijonosta, komento olisi:

$ echo "Hei, kuinka voit?"| tr -d h

Vastaavasti kaikkien isojen merkkien 'H' esiintymien poistamiseksi merkkijonosta komento olisi:

$ echo "Hei, kuinka voit?"| tr-d H

Voit käyttää tulkittuja sekvenssejä myös pienten tai isojen kirjainten poistamiseen:

$ echo "Hei, kuinka voit?"| tr -d [: ylempi:]

$ echo "Hei, miten menee?"| tr -d [: alempi:]

Poista kaikki pienet ja isot kirjaimet

Voit myös poistaa merkkijonosta kaikki sekä pienet että isot merkit. Esimerkiksi seuraava komento poistaa kaikki merkin 'h' esiintymät sekä pienillä että isoilla kirjaimilla.

$ echo "Hei, kuinka voit?"| tr -d 'hH'

Poista kaikki tietyn alueen merkkien esiintymät

Jos haluat poistaa kaikki merkkien esiintymät merkkijonosta tietyllä alueella 'd-h', komento olisi:

$ echo "hei, kuinka voit?"| tr -d 'd-h'

Tämä komento poistaa kaikki merkit merkkijonosta alueella d-h (d, e, f, g, h).

Johtopäätös

Linuxissa on aina useampi kuin yksi tapa suorittaa yksinkertainen työ. Sama pätee merkkien poistamiseen merkkijonosta. Tämä artikkeli esitti sinulle neljä eri tapaa tehdä niin, sekä muutama esimerkki ei-toivottujen merkkien poistamisesta merkkijonosta. Kaiken käytettävän työkalun valinta riippuu mieltymyksistäsi ja, mikä tärkeintä, siitä, mitä haluat saavuttaa.

Kuinka parantaa FPS ää Linuxissa?
FPS tarkoittaa Kuvaa sekunnissa. FPS: n tehtävänä on mitata kehysnopeus videotoistoissa tai peliesityksissä. Yksinkertaisin sanoin sekunnissa näytettä...
Suosituimmat Oculus App Lab -pelit
Jos olet Oculus-kuulokemikrofonin omistaja, sinun täytyy olla tietoinen sivulatauksesta. Sivulataus on prosessi, jolla ei-kaupallista sisältöä asennet...
Top 10 Games to Play on Ubuntu
Windows platform has been one of the dominating platforms for gaming because of the huge percentage of games that are developing today to natively sup...