BASH Shell ja Merkkijonon käsittelyä

Anonyymi

18

163

    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. SDP haluaa LISÄÄ veroja bensa-autoille!

      Sdp:n vaihtoehtobudjetti esittää polttomoottoriautoille lisää veroja Sdp esittää tuoreessa vaihtoehtobudjetissaan verot
      Maailman menoa
      279
      18462
    2. Riikka se jytkytti BKT:stä nyt 0,3 prosenttia pois

      Ja vain kolmessa kuukaudessa! Vuositasollahan tuo tarkoittaa reilun prosentin pudotusta. Pärjäisi varmaan lasketteluss
      Maailman menoa
      101
      10590
    3. Mihin kaikkeen sinä ihastuit hänessä

      Mikä oli se asia mikä vei jalat altasi? ❤️ Oliko jotain erityistä tilannetta vai tunne? Kenties monen sattuman summa? Ai
      Ikävä
      87
      7713
    4. Vasemmistoaate on aatteista jaloin

      Kaikki saavat ja kukaan ei jää ilman. Kuka tuollaista voisi vastustaa?
      Maailman menoa
      439
      7195
    5. Persut: haluamme lisää veroja!

      Lisää lisää veroja huutaa persukuoro. Veroila Suomi nousuun! "Uusi matkailuvero eli matkailijamaksu peritään esimerki
      Maailman menoa
      42
      4688
    6. Nainen kokki autossa kammottavan kuoleman sähköauto-Teslan syttyessä tuleen.

      https://www.is.fi/autot/art-2000011652873.html Näin vaarallisia sähköautopalot voivat olla.
      Maailman menoa
      41
      4301
    7. Brittiläinen vasemmistolehti: Sanna Marin oli vihdoin rehellinen

      Nyt tulee pahasti lunta tupaan Seiskan tähtitytölle. Ex-pääministerin kirjaa arvostellaan latteuksista ja itsekehusta.
      Maailman menoa
      85
      3504
    8. "Purra löylytti oppositiota", sanoi naistoimittaja Pöllöraadissa

      Kyllä, Purra tekee juuri sitä työtä mitä hänen tuossa asemassa pitää tehdä, hän antaa oppositiolle takaisin samalla mita
      Maailman menoa
      124
      3038
    9. Alexander C. G. riisti demari-Veijolta arvonimen

      "Stubb myönsi 66 arvonimeä ja peruutti yhden arvonimen. Presidentti Tarja Halonen myönsi Baltzarille kulttuurineuvoksen
      Maailman menoa
      97
      2595
    10. Jos samassa autossa istuu romani, somali ja venäläinen, kuka ajaa?

      Arvioiden mukaan romanit lähtivät noin 1000-luvulla liikkeelle pohjois-Intiasta. Nyt 1000 vuotta myöhemmin he ovat levit
      Maailman menoa
      40
      2467
    Aihe