BASH Shell ja Merkkijonon käsittelyä

Anonyymi

18

131

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Tepä olette älykäs, Te!

      • Anonyymi

        Niin kai kun Shelliltä se pöllii Sinolia! kun sen rahat taas loppu ja lääkkeetkin.


    • Anonyymi

      Olkoot merkkijono "123567890" muuttujassa "merkkijono".

      merkkijono="'1234567890" && echo "${merkkijono: -3}"

      Tulostaa "890".

      • Anonyymi

        Nyt on lista täydellinen, Kiitos!

        T. ketjun avaaja


    • Anonyymi

      Häirikkö levittää Perättömia valheita
      Firefoxista,
      Linuxista
      Ubuntusta.
      ym.

      • Anonyymi

        Ei levitä tässä ketjussa. Kommentoi sinne, missä levittää!


    • Anonyymi

      string="1234567890"; echo ${string:7}

      • Anonyymi

        Tuo taitaa tulostaa 7 ensimmäistä merkkiä?


      • Anonyymi

        Jos jatkan tätä ei avaukseen piiriin kuuluvaa, niin sed -komentoa käyttäen voidaan suodattaa ei halutut merkit:

        echo "1234567890" | sed -e "s/[1234567]//g" #890

        Edellisessähän täytyi tuntea merkkijonon pituus, ja tässä taas täytyy tuntea ei halutut merkit. Laitoin vain siksi, jos joku saisi tästä ahaa-elämyksen. Itse asiassa oletin tuossa joitakin aikoja sitten jonkun käyttäneen sed -komentoa viestinsä sisällön muokkaamiseen, kun oli systemaattisesti vaihdettu välilyönnit alaviivaan.

        T. Urpo


      • Anonyymi
        Anonyymi kirjoitti:

        Tuo taitaa tulostaa 7 ensimmäistä merkkiä?

        Kyllä se tulostaa kolme viimeistä, mutta siinä täytyy tuntea merkkijonon pituus, että osaa laittaa tuon 7. Siitä sainkin tuon idean tuohon hiukan sekavaan vastaukseen:

        string="1234567890"; echo ${string:$((${#string}-3))}

        Jossa suoritetaan tuo poistettavien määrän selvitys laskemalla, sehän on muuten sama kuin tuossa yllä oleva, mutta suora 7 on korvattu laskennan tuloksella, jolloin merkkijonon pituus voi olla mikä tahansa.


      • Anonyymi
        Anonyymi kirjoitti:

        Kyllä se tulostaa kolme viimeistä, mutta siinä täytyy tuntea merkkijonon pituus, että osaa laittaa tuon 7. Siitä sainkin tuon idean tuohon hiukan sekavaan vastaukseen:

        string="1234567890"; echo ${string:$((${#string}-3))}

        Jossa suoritetaan tuo poistettavien määrän selvitys laskemalla, sehän on muuten sama kuin tuossa yllä oleva, mutta suora 7 on korvattu laskennan tuloksella, jolloin merkkijonon pituus voi olla mikä tahansa.

        Joo niin se tulostaa alkaen merkistä 7 loppuun.

        No ehkä se -3 toimii aloituksen tehneen tapaukseen parhaiten.


    • Anonyymi

      Tässä selvitetään ensin merkkijonon pituus:

      echo ${#string}

      josta sitten vähennetään kolme
      string="1234567890"; echo ${string:$((${#string}-3))}

      loppu tulos on: 890

      T. Urpo

      • Anonyymi

        Tarviiko pituutta jossain muualla?

        Miinusmerkillä tehtäessä pitää muistaa välilyönnin merkitys sen ja kaksoispisteen välillä.

        merkkijono="1234567890";echo "${merkkijono:-3}"
        1234567890

        merkkijono="1234567890";echo "${merkkijono: -3}"
        890


    • Anonyymi

      string="1234567890"; echo ${string:7:10}

      • Anonyymi

        Näitä ratkaisuja jotka perustuu siihen että tunnetaan merkkijonon pituus ja että tunnetaan merkkijonon sisältö, on mielettömästi.


    • Anonyymi

      Tämä ketju saattaakin olla aloittelevalle, varsin käsittämätöntä sotkua.

    • Anonyymi

      Jos raaskii Pythonin polkaista käyntiin, niin vaihtoehto voisi olla

      echo "1234567890" | python3 -c "print(input()[-3:])"
      890

      • Anonyymi

        Ja sekin toimii, ja nätisti toimiikin.


    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa

      En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod
      Ikävä
      22
      5234
    2. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      25
      4398
    3. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      28
      2541
    4. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      34
      2264
    5. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      37
      2008
    6. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      15
      1928
    7. En ole koskaan kokenut

      Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka
      Ikävä
      19
      1617
    8. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      12
      1541
    9. Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...

      Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons
      Suomalaiset julkkikset
      21
      1277
    10. Kerranki asiat oikein

      Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa
      Haapavesi
      10
      1194
    Aihe