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
5. Tulosta päivämäärä ja aika
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äjilleOletko 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 10Lue seuraava Liittyvät aiheet
- Linux
- Linux Bash Shell
- Linux -komennot
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 Glooriltatilaa uutiskirjeemme
Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia e -kirjoja ja ainutlaatuisia tarjouksia!
Klikkaa tästä tilataksesi