4 175
muokkausta
(perusoppaan alkua, osittain kopiointia Unix.sestä koska lisenssi sen sallii) |
(→Printf) |
||
Rivi 59: | Rivi 59: | ||
== Printf == | == Printf == | ||
Printf on awk:n funktio, jolla on mahdollista tehdä tarkempia muotoiluja tulostukselle. Se toimii samaan tapaan kuin vastaava funktio [[C]]-kielessä ja sen syntaksi on | |||
printf "muotoilumerkkijono", muuttuja1, muuttuja2, ... | |||
Ensimmäisenä annettava merkkijono sisältää tavallista tulostuvaa tekstiä ja voi lisäksi sisältää erikoismerkkejä, joiden paikalle sijoitetaan annettavat muuttujat sopivasti muotoiltuna. Ensimmäinen erikoismerkki käsittelee ensimmäisen parametrina annetun muuttujan, toinen toisen jne. | |||
Erikoismerkit alkavat prosenttimerkillä jota seuraa kirjain ja mahdollisesti numeroita (jos halutaan tulostaa prosenttimerkki, on käytettävä merkintää %%). Erikoismerkkejä ovat | |||
{| border=1 | |||
|- | |||
|'''Merkki''' | |||
|'''Selitys''' | |||
|- | |||
|%c | |||
|Tulostaa ASCII-numeroa vastaavan merkin. Esimerkiksi <tt>printf "%c", 65</tt> tulostaisi "A" | |||
|- | |||
|%d | |||
|Tulostaa kokonaisluvun | |||
|- | |||
|%i | |||
|Tulostaa kokonaisluvun | |||
|- | |||
|%e | |||
|Tulostaa luvun halutussa eksponenttimuodossa. Esimerkiksi <tt>printf "%4.3e", 1950</tt> tulostaisi "1.950e+03" (4 merkitsevää numeroa ja eksponenttina 3) | |||
|- | |||
|%f | |||
|Tulostaa desimaaliluvun | |||
|- | |||
|%g | |||
|Tulostaa luvun joko desimaali- tai eksponenttimuodossa sen mukaan, kummassa tarvitaan vähemmän merkkejä | |||
|- | |||
|%o | |||
|Tulostaa etumerkittömän oktaaliluvun | |||
|- | |||
|%s | |||
|Tulostaa merkkijonon | |||
|- | |||
|%x | |||
|Tulostaa etumerkittömän heksaluvun | |||
|- | |||
|%X | |||
|Tulostaa etumerkittömän heksaluvun käyttäen desimaaliluvuille 10-15 isoja kirjaimia | |||
|- | |||
|} | |||
== Silmukat == | == Silmukat == |