Tuossa kuvassa on muutama esimerkki, mutta yksi niistä puuttuu. Miten poimit 3 merkkiä, merkkijonon lopusta. Huomaa että tässä ei tunneta merkkijonon pituutta.
https://s5.gifyu.com/images/merkkijono.png
BASH Shell ja Merkkijonon käsittelyä
18
97
Vastaukset
- 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
En usko et meistä tulee jotain
Se ei kuitenkaan estä toivomasta et tulisi. Toivon et voitas suudella ja se sais asioita loksahtamaan paikoilleen. Jutel102640- 911976
Eini paljastaa nuorekkuutensa salaisuuden - Tämä nousee framille: "Se on pakko, että jaksaa!"
Discokuningatar Eini on täyttänyt upeat 64 vuotta. Lavoilla ja keikoilla nähdään entistä vapautuneempi artisti, joka ei391511- 2601398
Yli puolella maahanmuuttajalapsista ei ole tietoja ja taitoja, joilla selviää yhteiskunnassa
Miksi Suomeen otetaan väkeä jolla on älyvajetta? https://www.hs.fi/politiikka/art-2000010730220.html2731038- 67933
Olen J-mies
Jos kerrot sukunimeni alkukirjaimen, ja asuinpaikkakuntani. Lupaan ottaa yhteyttä sinuun.47891- 55864
Ei sitten, ei olla enää
Missään tekemisissä. Unohdetaan kaikki myös se että tunsimme. Tätä halusit tämän saat. J miehelle. Rakkaudella vaalea na77860- 44775