sunnuntai 14. syyskuuta 2008

Bash merkkijonon käsittelyä

Bash ja strings



Bash kieli tarjoaa ihan kivan joukon merkkijono käsittely komentoja. Ne ovat vähän kryptisen näköisiä, mutta helppoja kun ne osaa.

Merkkijonokomennot ovat muotoa ${} ja varsinainen komento on sulkujen sisällä.

Kannattaa huomata, että muuttujanimi lausekkeessa (R-lauseessa eli oikealla puolella) esiintyy ilman $ merkkiä. Käytetyt sulut ovat {}, curly bracket tai enkelisulut.
Tässä muutamia esimerkin muodossa:

alimerkkijonon poistaminen
imagename=${fullfile%.jpg} --> Poistaa".jpg" esiintymän, jos fullfile merkkijonossa on sellainen.

merkkijonon pituus
len=${#imagename} --> asettaa len muuttujaan imagename merkkijono pituuden.

Toinen vaihtoehto on: expr length $string

Merkkijono korvaaminen ${string/substring/replacement}

mjono2=${mjono/_/- } --> Korvaa merkkijono ensimmäisen alaviivan väliviivalla. mjono2=${mjono//_/- } --> Korvaa merkkijono kaikki alaviivat väliviivoilla.

Alimerkkijono paikka merkkijonossa

pos=`expr index "$s" ' '` --> Missä kohdassa on ensimmäinen välilyönti.

Ei kommentteja: