BASH Shell ja Merkkijonon käsittelyä

Anonyymi

18

154

    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. Ikävä sua j-mies!

      Enkä oikeesti ymmärrä miksi. Eihän me tunneta ees kovin hyvin. Mut haluaisin sun kanssa jotain säätöä sit kai vaan 🫦
      Ikävä
      58
      5485
    2. Voi itku! Sanna Marinilla EI OLLUT mitään tekemistä jäänmurtajakauppojen kanssa

      Miten tässä näin kävi? Sanna-kultti paniikissa.
      Maailman menoa
      172
      4431
    3. En välttämättä koskaan aikaisemmin tosissani uskonut mihinkään sielunkumppanuuteen ym

      Ennen kuin tapasin sinut. Oudointahan tässä on että ollaan tiedetty toisemme kuitenkin vuosia ja enemmän vuosia, mutta v
      Ikävä
      16
      3892
    4. Sanna Marin kysyi hämmästyneenä: Onko Suomessa jäänmurtajia?

      Nettilehden toimittaja kysyi Sanna Marinilta suoraan, että sovittiinko nuo jäänmurtajien kaupat jo 2019, jolloin Marin k
      Maailman menoa
      38
      3456
    5. Tykkäys ei tarkoita

      yhtään mitään!
      Ikävä
      51
      3441
    6. Voiko normaali ihminen ryhtyä vasemmistolaiseksi?

      Tätä jäin pohdiskelemaan.
      Maailman menoa
      58
      3218
    7. Mitä on tapahtunut myllymäessä ?

      On poliisit Sepänkadulla myllymäessä
      Kankaanpää
      10
      3020
    8. Puukotus Lidlissä

      Kuka sai puukkoo Lidlin pihas tänään. Ja kuka oli tekijä?
      Kankaanpää
      25
      2607
    9. Mulle riittäisi halaukset

      Ja juttelut mut sulle ei taida riittää
      Ikävä
      46
      2287
    10. Tarvitseeko

      kaivattusi suojelua?
      Tunteet
      39
      2246
    Aihe