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
131
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
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. Vuod225234- 254398
- 282541
- 342264
- 372008
- 151928
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191617- 121541
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 kons211277Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101194