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
300
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
Henkirikos kiuruvedellä
Poliisi tutkii maaliskuussa tapahtunutta 50 luvulla syntyneen kuolemaa henkirikoksena. Missä päin tälläinen sattunut1494392Ketkä haukkuu suomalaisten ÄO:tä?
Siinä on kaksi vaihtoehtoa, joko siis rutiköyhä vajaaälyinen vasuri tai venäläinen. Kyllähän täällä käy suomenvenäläisi1953941Diesel-ammattilainen kehuu Sanna Marinia
"Sanna Marinin (sd) hallitus loi neljä vuotta sitten väliaikaisen polttoainetukijärjestelmän, kun energianhinnat nousi302663Pitkänperjantain kunniaksi tekoälyn analyysi Riikka Purran kirjoituksesta
🧠 Mitä se kertoo "riikka"-nimimerkin lähijunassa tapahtuneesta? 1. Asenteellinen ja epäasiallinen sävy: Kirjoitus purs102442100 prosentin perintövero korjaisi myös Hitas-ongelman
Moni ei uskalla kieltäytyä perinnöstä maineen menettämisen uhalla, joten sitten tulee näitä tilanteita, joissa joutuu es322193Riikan antisakset leikkaavat bensan hintaa ylöspäin
Sannan aikoina bensaa sai 1,3 euron litrahinnalla ja Riikka leikkasi sen euron ylemmäksi reiluun 2 euroon. Joko on saks51780Läpäiseekö Martina Aitolehti Erikoisjoukot - kyllä vai ei?
Martina Aitolehti on pärjännyt mainiosti Erikoisjoukoissa. Yrittäjä on mielipiteiltään napakka ja hän sivaltaakin koulut1081508Olen aika varma
että meidän tiemme risteäminen oli ainutkertainen tapahtuma elämässäni. En tule koskaan kohtaamaan ketään muuta, joka sa491434Sukupuolineutraalit liikennemerkit yksi persujen älynväläys
Samassa rytäkässä kaikki syrjäseutujen bussipysäkkien liikennemerkitkin vaihdettiin, vaikkei bussia ole liikennöinyt enä241311Ei ne päivät ole samanlaisia...
Toisena hymyillään ja katsellaan silmiin, toisena taas tuntuu ettei edes tunneta toisiamme, vältellään ja katseet ei vah361129