Jos olet käyttänyt Bash-kuorta kunnollisen ajan, luultavasti osaat tulostaa merkkijonot Linux-päätelaitteessa echo-komennolla. Printf-komento kuitenkin tekee tekstin tulostamisen tietyllä muotoilulla paljon helpompaa.

Tänään opimme käyttämään printf-toimintoa Bash-komentosarjojen taitojen parantamiseksi.

Mikä on Bash printf -toiminto?

Kuten nimestä voi päätellä, printf on toiminto, joka tulostaa muotoillut tekstijonot. Tämä tarkoittaa, että voit kirjoittaa merkkijonorakenteen (muoto) ja myöhemmin täyttää sen arvoilla (argumentit).

Jos olet perehtynyt C / C ++ -ohjelmointikieliin, saatat jo tietää, kuinka printf toimii. Bash-kuoren Printf on hyvin samanlainen, mutta sillä on muutamia pieniä eroja.

Lisätietoja: Parhaat sivustot aloittaa C ++ -ohjelmointi

Kuinka käyttää printf: tä Bash Shellissä

Printf: n perussyntaksi on:

printf-muoto [argumentti]

Printf tulostaa muoto merkkijono toteutuksen aikana pakenee (\) ja direktiivejä (%) käyttämällä määriteltyjä perustelut. Huomaa seuraavan komennon lähtö:

$ printf "Hei,% s" maailma
Hei maailma

Printf otti maailman- väite ja korvasi % s merkki määritetyssä merkkijonossa.

Saatat huomata, että lähdön jälkeen Bash ei luo sinulle uutta riviä. Toisin kuin echo-komento, printf ei oleta, että haluat uuden rivin tulostuksen jälkeen. Siksi sinun on käytettävä uutta rivimerkkiä \ n kussakin tapauksessa.

Jos haluat tulostaa merkkijonon ja siirtyä sitten uudelle riville, kirjoita printf "Hei, maailma \ n".

Hei maailma

On tärkeää pitää mielessä, että printf yrittää käyttää muotoa uudelleen kaikille argumenteillesi. Voit käyttää tätä eduksi, mutta jos et ole varovainen, voit saavuttaa tällaisia ​​tuloksia:

$ printf "Nimeni on% s" Jordan Gloor
Nimeni on Jordan Nimeni on Gloor

Sinun tulisi myös olla tietoinen siitä, että jos argumentti puuttuu, printf tulkitsee kaikki direktiivit 0 (numerolle) ja tyhjä (merkkijonolle).

$ printf "Hei,% s."
Hei, .

Nyt kun tiedät kuinka Bash-komentosarjat tulostimen kanssa Linuxissa toimivat, olet valmis aloittamaan sen käyttämisen komentoissasi.

Esimerkkejä Linux Bash -tulostuksesta

Printf sisältää monia muotoilun määrittelijöitä, joita voit käyttää komentosarjoissasi. Mutta tänään käsittelemme vain joitain yleisiä toimintoa varten.

1. Alusta tulostus merkkijonolla

Jos haluat muotoilla tuloksen tekstijonoilla, käytä % s direktiivi.

$ printf "% s on yksi suurimmista verkossa olevista% s." MUO: n "teknologiajulkaisut"
MUO on yksi suurimmista verkkotekniikan julkaisuista.

2. Alusta merkkijono desimaaleilla

Voit muotoilla merkkijonon kokonaisluvulla käyttämällä % d allekirjoitetun desimaalin tarkkuudella.

$ printf "MUO perustettiin% d." 2007
MUO perustettiin vuonna 2007.

Huomaa, että jos haluat käyttää lähtöön allekirjoittamatonta desimaalia, sinun on käytettävä % u sen sijaan.

Liittyvät: Mitä "Bash" tarkoittaa Linuxissa?

3. Matemaattisten funktioiden tulostus printf: n avulla

Matemaattisten funktioiden muotoilu printf-komennolla on helppoa. Aseta lauseke kaksoissulkeiden sisään kuten tavallisesti Bashissa, ja määritä lauseke argumenttiluettelossa.

$ printf "1 + 1 on% d" $ ((1 + 1))
1 + 1 on 2

4. Muotoile heksadesimaaliluvut

Jos haluat muotoilla heksadesimaaliluvun, käytä % x pienille ja pienille kirjaimille % X isoille kirjaimille.

$ printf% X 1000
3E8C

5. Tulosta päivämäärä ja kellonaika

Voit tulostaa nykyisen päivämäärän ja kellonajan yhdistämällä printf: n ja Päivämäärä komentaa ja antaa seuraavat direktiivit.

$ printf "% (% m-% d-% Y% H:% M:% S) T" $ (päivämäärä +% s)
03-26-2021 15:27:57

Näet kuukauden, päivän, vuoden, tunnin, minuutin ja sekunnin muotomäärittimet edellä mainitussa tuotoksessa.

6. Alusta merkkijonot Unicode-merkeillä

Jos haluat tulostaa Unicode-merkkejä printf: llä, käytä \ u paeta 16-bittiselle Unicodelle ja \ U 32-bittiselle Unicodelle.

Voit esimerkiksi tulostaa tekijänoikeudet symboli seuraavalla komennolla:

$ printf "\ u00A9"
©

7. Lisää väli tulosteeseen

Voit muotoilla merkkijonosi välillä määrittämällä ennen direktiivimäärittelyä pienimmän määrän tulostettuja merkkejä. Käyttämättömät merkit täytetään välilyönneillä.

Esimerkiksi kirjoittaminen printf "% s:% 5d \ n" "Arvo 1" 25 "Arvo 2" 120 tuottaa:

Arvo 1: 25
Arvo 2: 120

% 5d muodon määrittelijä tulosteessa tarkoittaa, että muotoiltu merkkijono sisältää vähintään viisi merkkiä. Koska 25: ssä on vain kaksi numeroa, jäljellä oleviin merkkeihin lisätään välilyöntejä.

Jos välität negatiivisen luvun leveydeksi, direktiivi on oikeutettu vasemmalle eikä oikealle.

$ printf "% -10s:% d" "Piirit" 25 "Laatikot" 120
Ympyrät: 25 laatikkoa: 120

Jos haluat tehdä leveysmuuttujan, voit välittää tähden numeron sijaan, ja printf käyttää seuraavaa argumenttiluettelossa olevaa numeroa.

$ printf "% * s:% d" -10 "ympyrät" 25-10 "laatikot" 120
Ympyrät: 25 laatikkoa: 120

Liittyvät: Kaikki mitä sinun tarvitsee tietää Bash for Loops -sovelluksesta Linuxissa

Opi Linux printf -komento

Bash-komentosarjan apuvyön printf-komennon avulla olet valmis aloittamaan monimutkaisten ja vaihtelevien merkkijonojen tulostamisen päätelaitteessasi. Kehitettäessä Bash-skriptejäsi on tärkeää varmistaa, että työskentelet mahdollisimman tuottavassa ympäristössä. Tämä ei ainoastaan ​​paranna komentorivitaitoja, vaan myös parantaa työnkulkua yleensä.

Sähköposti
10 parasta Linux-distroa kehittäjille

Oletko valmis aloittamaan avoimen lähdekoodin käyttöjärjestelmän kehittämisen? Tässä ovat parhaat Linux-distrot ohjelmointia varten.

Lue seuraava

Liittyvät aiheet
  • Linux
  • Linux Bash Shell
  • Linux-komennot
Kirjailijasta
Jordan Gloor (32 artikkelia julkaistu)

Jordan on tutori ja toimittaja, joka on intohimoinen tekemään Linuxista helppokäyttöinen ja stressitön kaikille. Hänellä on englannin kielen BA ja juttu kuumalle teelle. Lämpiminä vuodenaikoina hän nauttii pyöräilemästä Ozarksin kukkuloilla, joissa hän asuu.

Lisää artistilta Jordan Gloor

Tilaa uutiskirjeemme

Liity uutiskirjeeseemme, jossa on teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja erikoistarjouksia!

Vielä yksi askel !!!

Vahvista sähköpostiosoitteesi juuri lähettämässäsi sähköpostiviestissä.

.