Illan huuhaa-viritelmä. Alussa olevaan muuttujaan testattava "palindromi".
Merkkijono muutetaan ensin pieniksi kirjaimiksi, jonka jälkeen siitä poistetaan välilyönnit ja muutama erikoismerkki. Sitten sitä verrataan käännettyy versioon.
$ palindromi="Aattona Jaana Aro on siro deeku. Taas sikana kana kissaa tukee. Doris-Noora, Anaa janottaa!"; echo -n "\"$palindromi\" "; palindromi=`echo ${palindromi,,}`; palindromi=`echo ${palindromi//[\!-., ?]/}`; if [ ${palindromi} = `echo ${palindromi} | rev` ]; then echo -n on; else echo -n ei ole; fi; echo " palindromi."
"Aattona Jaana Aro on siro deeku. Taas sikana kana kissaa tukee. Doris-Noora, Anaa janottaa!" on palindromi.
$ palindromi="Aattona Jaana Aro ei ole siro deeku. Taas sikana kana kissaa tukee. Doris-Noora, Anaa ei janota!"; echo -n "\"$palindromi\" "; palindromi=`echo ${palindromi,,}`; palindromi=`echo ${palindromi//[\!-., ?]/}`; if [ ${palindromi} = `echo ${palindromi} | rev` ]; then echo -n on; else echo -n ei ole; fi; echo " palindromi."
"Aattona Jaana Aro ei ole siro deeku. Taas sikana kana kissaa tukee. Doris-Noora, Anaa ei janota!" ei ole palindromi.
Palindromin testaaminen bashilla
5
101
Vastaukset
- Anonyymi
Älä tee tätä kotona
- Anonyymi
Mutta kun minä kerkisin jo tehdä, entä nyt?
- Anonyymi
Olihan tuo karsee yhdellä rivillä. Tehdään siitä tekstitiedosto, joka tallennetaan vaikka nimellä "onko-palindromi.sh", joka sitten muutetaan suoritettavaksi skriptiksi komennolla "chmod x ./onko-palindromi.sh" minkä jälkeen kokeillaan:
$ ./onko-palindromi.sh "Atte diat otti. Hitto! Taidetta!"
"Atte diat otti. Hitto! Taidetta!" on palindromi.
$ ./onko-palindromi.sh "Atte diat vei. Hitto! Missä Atte?"
"Atte diat vei. Hitto! Missä Atte?" ei ole palindromi.
Ja se siihen skriptitiedostoon siis:
#!/bin/bash
# Tulostetaan parametrina annettu merkkijono
# lainausmerkkien sisällä
echo -n "\"$1\" "
# Muutetaan kaikki merkit pieniksi ja
# sijoitetaan muuttujaan x
x=`echo ${1,,}`
# Poistetaan huuto- ja kysymysmerkki, piste,
# pilkku, viiva, välilyönti ja kaksoispiste
x=`echo ${x//[\!-., ?\:]/}`
# Verrataan merkkijonoa käännettyyn
if [ ${x} = `echo ${x} | rev` ]; then
# Jos ovat sama, tulostetaan "on"
echo -n on
else
# Jos eivät ole samoja, tulosteaan "ei ole"
echo -n ei ole
fi
# Tulostuksen loppu
echo " palindromi."- Anonyymi
Ja taas tuli hyvä suoritus mukaan.
Tykkäsin tästä tavasta poistaa merkkejä merkkijonosta:
x=`echo ${x//[\!-., ?\:]/}`
Vaihtoehtoisesti sen voi kirjoittaa näin:
x=$(echo ${x//[\!-., ?\:]/})
t. Turbo Urpo kiittää ja kumartaa. - Anonyymi
Anonyymi kirjoitti:
Ja taas tuli hyvä suoritus mukaan.
Tykkäsin tästä tavasta poistaa merkkejä merkkijonosta:
x=`echo ${x//[\!-., ?\:]/}`
Vaihtoehtoisesti sen voi kirjoittaa näin:
x=$(echo ${x//[\!-., ?\:]/})
t. Turbo Urpo kiittää ja kumartaa.Totta. Gravis ei aina edes erotu välttämättä kovin selvästi. Taitaa olla joku jäänne historiasta.
https://www.gnu.org/software/bash/manual/html_node/Command-Substitution.html
Ketjusta on poistettu 1 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Onks sulle väliä, jos jokin kaivattusissa
ei ole täydellistä? Esim. venytysmerkit, arvet, selluliitti, epäsymmetriset rinnat, vinot hampaat jne?874688- 1344203
Shokkiyllätys! 31-vuotias Hai asuu vielä "kotona" - Anna-vaimon asenne ihmetyttää: "No ei tämä..."
Hmmm, mitenhän sitä suhtautuisi, jos aviomies/aviovaimo asuisi edelleen lapsuudenperheensä kanssa? Tuore Ensitreffit-vai362785Eikö Marin ollut oikeassa kokoomuksen ja persujen toiminnasta
Ennen vaaleja Marin kertoi mitä kokoomus tulisi hallituksessa tekemään ja tietysti persut suostuu kaikkeen, mitä kokoomu2091817Olet elämäni rakkaus
On ollut monia ihastumisia ja syviäkin tunteita eri naisia kohtaan, mutta sinä olet niistä kaikista ihmeellisin. Olet el371357Missä Steffe hiihtää?
Missä reppuli luuraa? Ei ole Seiskassa mitään sekoiluja ollut pariin viikkoon? Onko jo liian kylmä skulata tennistä ulko251339Wiisaat Lappajärvellä iät.
Nyt nimiä listaan menneistä ja nykyisistä Wiisaista Lappajärveläisistä. Itseäkin voi tuoda esille kaikessa Wiisaudessa.121316Ratkaiseva tekijä kiinnostuksen heräämisessä
Mikä tekee deittikumppanista kiinnostavan? Mitä piirrettä arvostat / et arvosta?671278Milloin nainen, milloin?
Katselet ja tiedän, että myös mieli tekee. Voisit laittaa rohkeasti viestin. Tiedät, että odotan. Ehkä aika ei ole vielä611233Seiska: Konsta Hietanen ja Aami-rakas iltamenoissa - Salkkareista Aami täräyttää: "Sarja oli..."
Konsta Hietanen jätti Salatut elämät -draamasarjan tänä syksynä. Konstaa kyllä kaivataan vieläkin Salkkareissa! Lue li21212