Bash printf Toiminto: 7 esimerkkiä Linuxista

Bash printf Toiminto: 7 esimerkkiä Linuxista

Jos olet käyttänyt Bash -kuorta kohtuullisen ajan, tiedät luultavasti kuinka tulostaa merkkijonoja Linux -päätelaitteessa käyttämällä echo -komentoa. Printf -komento helpottaa kuitenkin tekstin tulostamista tietyllä muotoilulla.





Tänään opimme käyttämään printf -toimintoa parantaaksemme Bash -komentosarjataitojamme.





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 tunnet C/C ++ -ohjelmointikielet, saatat jo tietää, miten printf toimii. Printf Bash -kuorissa on hyvin samanlainen, mutta siinä on muutamia pieniä eroja.

Lisätietoja: Parhaat sivustot C ++ -ohjelmoinnin aloittamiseen



Printf: n käyttäminen Bash Shellissä

Printf: n perussyntaksi on:

printf format [argument]

Printf tulostaa muoto merkkijono toteutuksen aikana vuotaa ( ) ja direktiivit ( % ) määritetyn käytön avulla argumentteja . Huomaa seuraavan komennon tulos:





$ printf 'Hello, %s' world
Hello, world

Printf otti maailman- argumentti ja korvasi %s merkki sen kanssa määritetyssä merkkijonossa.

Saatat huomata, että tulostuksen jälkeen Bash ei luo uutta riviä sinulle. Toisin kuin echo -komento, printf ei oleta, että haluat uuden rivin tulostamisen jälkeen. Sinun on siis käytettävä uutta rivimerkkiä n kussakin tapauksessa.





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

Hello, world

On tärkeää pitää mielessä, että printf yrittää käyttää muotoa uudelleen kaikkiin argumentteihisi. Voit käyttää tätä eduksi, mutta jos et ole varovainen, voit saada seuraavanlaisia ​​tuloksia:

$ printf 'My name is %s ' Jordan Gloor
My name is Jordan My name is Gloor

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

$ printf 'Hello, %s.'
Hello, .

Nyt kun tiedät, miten Bash -komentosarja script for printf toimii Linuxissa, olet valmis aloittamaan sen käyttämisen komennoissasi.

Linux Bash printf Esimerkkejä

Printf sisältää monia tiedostomuotoja, joita voit käyttää skripteissäsi. Mutta tänään käsittelemme vain joitakin yleisiä toimintoa varten.

1. Muotoile tulostus merkkijonolla

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

$ printf '%s is one of the largest online %s.' MUO 'technology publications'
MUO is one of the largest online technology publications.

2. Muotoile tulostusjono desimaaleilla

Voit muotoilla merkkijonon kokonaisluvulla käyttämällä %d direktiiviä allekirjoitettuun desimaaliin.

$ printf 'MUO was founded in %d.' 2007
MUO was founded in 2007.

Huomaa, että jos haluat käyttää tulosteessa allekirjoittamatonta desimaalia, sinun on käytettävä % u direktiivi sen sijaan.

parhaat sovellukset palo -tv -tikun sivuttaiseen lataamiseen

Aiheeseen liittyviä: Mitä 'Bash' tarkoittaa Linuxissa?

3. Tulosmatemaattiset toiminnot printf -toiminnon avulla

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

$ printf '1 + 1 is %d' $((1+1))
1 + 1 is 2

4. Muotoile heksadesimaaliluvut

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

$ printf %X 1000
3E8C

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

$ printf '%(%m-%d-%Y %H:%M:%S)T' $(date +%s)
03-26-2021 15:27:57

Näet muodon määrittäjät kuukaudeksi, päiväksi, vuodeksi, tunniksi, minuutiksi ja toiseksi edellä mainitussa tulostuksessa.

6. Muotoile merkkijonot Unicode -merkeillä

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

Voit esimerkiksi tulostaa tekijänoikeus symboli seuraavalla komennolla:

$ printf 'u00A9'
©

7. Lisää välilyönti lähtöön

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

Esimerkiksi kirjoittamalla printf '%s:%5d n' 'Arvo 1' 25 'Arvo 2' 120 tuottaa:

Value 1: 25
Value 2: 120

The %5d muodossa määrittely tulosteessa tarkoittaa, että muotoiltu merkkijono sisältää vähintään viisi merkkiä. Koska 25: ssä on vain kaksi numeroa, loput merkit lisätään välilyönteihin.

Jos annat leveydeksi negatiivisen luvun, direktiivi on oikealla vasemmalla eikä oikealla.

$ printf '%-10s: %d ' 'Circles' 25 'Boxes' 120
Circles : 25 Boxes : 120

Jos haluat tehdä leveyden muuttujan, voit välittää tähden numeron sijaan, ja printf käyttää seuraavaa argumenttiluettelosta löytyvää numeroa.

$ printf '%*s: %d ' -10 'Circles' 25 -10 'Boxes' 120
Circles : 25 Boxes : 120

Aiheeseen liittyviä: Kaikki mitä sinun tarvitsee tietää Bash For Loopsista Linuxissa

Linux printf -komennon oppiminen

Bash -komentosarjan apuohjelman printf -komennon avulla voit aloittaa monimutkaisten ja vaihtelevien merkkijonojen tulostamisen päätelaitteessasi. Kun kehität Bash -käsikirjoituksiasi, on tärkeää varmistaa, että työskentelet mahdollisimman tuottavassa ympäristössä. Tämä ei ainoastaan ​​paranna komentorivitaitojasi, vaan myös parantaa työnkulkuasi yleensä.

Jaa Jaa Tweet Sähköposti 10 parasta Linux -jakelua kehittäjille

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

ulkoinen kiintolevy ei näy Windows 10
Lue seuraava Liittyvät aiheet
  • Linux
  • Linux Bash Shell
  • Linux -komennot
Kirjailijasta Jordan Gloor(51 artikkelia julkaistu)

Jordan on MUO: n henkilöstökirjailija, joka on intohimoinen siitä, että Linux on kaikkien saatavilla ja stressitön. Hän kirjoittaa myös oppaita yksityisyydestä ja tuottavuudesta.

Lisää Jordan Gloorilta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi