BASH Shell ja Merkkijonon käsittelyä

Anonyymi

18

208

    Vastaukset 18

    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. Herkkyydestä

      Toisessa ketjussa toivottiin keskustelua herkkyydestä. Aloitan omalla näkemykselläni. Mielestäni herkät ihmiset ovat l
      Sinkut
      275
      941
    2. Arvaako kukaan?

      "Humalojalla metalliromun keräyspaikalla on kulkenut pitkin kevättä ja kesää joku henkilö, joka on vienyt sieltä kymmeni
      Haapavesi
      48
      737
    3. Okei, eli olet rakastunut

      Hyvä sinä, niin minäkin.
      Ikävä
      67
      681
    4. Tuntuu pahalta meidän molempien puolesta

      Anteeksi, että olen tällainen pelkuri. En vaan usko rakkauteen enää miehen ja naisen välillä omalla kohdalla. Tiedän, et
      Ikävä
      35
      584
    5. Mikä minussa sitten

      Kiihottaa enemmän kuin muissa?
      Ikävä
      52
      574
    6. Olen kiinnostunut sinusta, en seksistä

      Vihjailuja toiseen suuntaan on tullut niin paljon, että asia on korjattava. En näe sinua esineenä, vaan hienona persoona
      Ikävä
      31
      504
    7. Yli 3 Vuotta sinä jaksoit

      ja yrititit ottaa selvää minusta. Aika hämmästyttävää. Naiselle.
      Ikävä
      44
      500
    8. Mies.. rehellisesti

      Mitä haluat nyt sun elämään?
      Ikävä
      48
      477
    9. Taidan lähettää kaveripyynnön

      Sulle nainen. Otan vaan rohkaisuryypyn ensin.
      Ikävä
      40
      465
    10. Onko meillä

      Kaikki hyvin? 🤨 Miehelle
      Ikävä
      30
      459
    Aihe