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
209
Vastaukset 18
- 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
- 591261
Uskallanko laittaa sulle viestiä?
Se viesti on tossa valmiina ja lähettämistä vaille valmis. Kun ei kauhee sti tunneta niin eipä sillä olisi niin väliä. S701233Tässä ovat Elämäni biisi vieraat lauantai 19.9. - Yksi vieras on kohuttu TTK-juontajaehdokas
Elämäni biisi vieraslista on harvinaisen mielenkiintoinen lauantaina. Mukana myös kohuttu TTK-juontajaehdokas, josta ei7951Mies joka on oikeasti kiinnostunut
Ja näkee sut pitkäaikaisena kumppanina, siirtää vaikka vuoria selvittääkseen asiat eikä ota pienintäkään riskiä menettää125916- 109909
- 48786
- 38783
Kunnanhallitus
Miten käy täällä vuosia tuomioita jakaneelle valittajalle, hovioikeus hylännyt kaikki syytteet.41737Rauha, sopiiko
Ei häiritä enää toisiamme. Annetaan molemmille rauha unohtaa, pyydän tätä todella. Kiitos. Miehelle.77702- 51686
Ei siitä pääse yli, eikä ympäri!
Pakko se on myöntää ja tunnustaa. Olisin halunnut p*nna sinua sydämeni kyllyydestä. Itseäni vanhemmalle naiselle66681- 64669
Miesten (epä)viehättävyydestä kysymys
Mieltä askarruttava asia, liki dilemma. Palstallahan jotkut miesoletetut usein toteavat, että kaikki naiset tavoittelev139647Nyt kaatuu Kuisla
Reima Kuisla hakee saneeraukseen – Joitakin velkoja on jo ulosotossa https://www.ilkkapohjalainen.fi/reima-kuisla-hakee29624- 54585
- 58559
- 95541
- 60504
Sastamalassa epäillään tappoa, kaksi otettu kiinni
Kuulemma Aarnontiellä tapahtunut Tietääkö joku enemmän?21502- 35467