Bash printf Funktsioon: 7 näidet Linuxi jaoks

Bash printf Funktsioon: 7 näidet Linuxi jaoks

Kui olete Bashi kestat kasutanud korraliku aja jooksul, siis ilmselt teate, kuidas trükkida stringe Linuxi terminalis, kasutades käsku echo. Kuid käsk printf muudab teksti printimise kindla vorminguga palju lihtsamaks.





Täna õpime kasutama printf -funktsiooni, et parandada oma Bash -i skriptimisoskust.





Mis on Bash printf funktsioon?

Nagu nimigi ütleb, on printf funktsioon, mis prindib vormindatud tekstistringid. See tähendab, et saate kirjutada stringi struktuuri (vormingu) ja hiljem selle väärtustega (argumendid) täita.





Kui olete C/C ++ programmeerimiskeeltega tuttav, võite juba teada, kuidas printf töötab. Printf Bashi kestas on väga sarnane, kuid sellel on mõned väikesed erinevused.

Lisateave: Parimad saidid C ++ programmeerimisega alustamiseks



Prindi printimise kasutamine Bash Shellis

Printfi põhisüntaks on järgmine:

printf format [argument]

Printf prindib vormingus string rakendamise ajal lekib ( ) ja direktiivid ( % ) kindlaksmääratud kasutamise kaudu argumente . Pange tähele järgmise käsu väljundit:





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

Printf võttis maailma argument ja asendas %s märk koos sellega määratud stringis.

Võite märgata, et pärast väljundit ei loo Bash teile uut rida. Erinevalt käsust echo ei eelda printf pärast väljundi printimist uut rida. Seega peate kasutama uut rea märki n igal juhul.





Stringi printimiseks ja seejärel uuele reale liikumiseks tippige printf 'Tere, maailm n' .

Hello, world

Oluline on meeles pidada, et printf proovib kõigi teie argumentide vormingut uuesti kasutada. Saate seda oma huvides kasutada, kuid kui te pole ettevaatlik, võite saada järgmisi tulemusi:

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

Samuti peaksite teadma, et kui argument puudub, tõlgendab printf kõiki direktiive järgmiselt 0 (numbri jaoks) ja null (nööri jaoks).

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

Nüüd, kui teate, kuidas Bash -i skriptimine printfiga Linuxis töötab, olete valmis seda oma käskudes kasutama.

Linux Bash printf Näited

Printfil on palju vormingu täpsustajaid, mida saate oma skriptides kasutada. Kuid täna käsitleme selle funktsiooni jaoks ainult mõnda levinumat.

1. Vormindage väljund stringiga

Väljundi vormindamiseks tekstistringidega kasutage %s direktiiviga.

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

2. Vormindage väljundstring kümnendkohtadega

Täisarvuga stringi vormindamiseks võite kasutada %d allkirjastatud kümnendkoha direktiiv.

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

Pange tähele, et kui soovite väljundis kasutada allkirjastamata kümnendkohta, peate kasutama % u selle asemel direktiiv.

Windows 10 laaditakse alla, kuid ei installita

Seotud: Mida tähendab 'Bash' Linuxis?

3. Väljundi matemaatikafunktsioonid printf abil

Matemaatikafunktsioonide vormindamine käsuga printf on lihtne. Lihtsalt asetage oma väljend kahekordsete sulgude sisse, nagu tavaliselt Bashis, ja määrake avaldis argumentide loendis.

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

4. Kuueteistkümnendarvude vormindamine

Kui peate vormindama kuueteistkümnendarvu, kasutage % x väiketähtede jaoks ja % X suurtähtede jaoks.

$ printf %X 1000
3E8C

Praeguse kuupäeva ja kellaaja printimiseks võite printf kombineerida kuupäev käsku ja järgmisi direktiive.

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

Eespool nimetatud väljundis näete kuu, päeva, aasta, tunni, minuti ja sekundi vormingu täpsustajaid.

6. Vormindage stringid Unicode'i märkidega

Unicode -märkide printimiseks printf -iga kasutage u põgeneda 16-bitise Unicode'i jaoks ja U 32-bitise Unicode'i jaoks.

Näiteks saate printida autoriõigus sümbol järgmise käsuga:

$ printf 'u00A9'
©

7. Lisage väljundile tühikud

Saate stringe vormindada tühikutega, määrates enne direktiivi täpsustust minimaalse trükitavate märkide arvu. Kasutamata märgid täidetakse tühikutega.

Näiteks tippimine printf '%s:%5d n' 'Väärtus 1' 25 'Väärtus 2' 120 väljastab:

Value 1: 25
Value 2: 120

The %5d vorminguspetsiif väljundis tähendab, et vormindatud string sisaldab vähemalt viit märki. Kuna 25 -l on ainult kaks numbrit, lisatakse ülejäänud märkidele tühikud.

Kui sisestate laiuseks negatiivse numbri, on direktiiv parempoolse asemel vasakule põhjendatud.

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

Kui soovite muuta laiuse muutuvaks, võite numbri asemel anda tärni ja printf kasutab järgmist argumendiloendist leitud numbrit.

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

Seotud: Kõik, mida peate teadma Bash for Loops kohta Linuxis

Linuxi printf -käsu õppimine

Bash -i skriptimisutiliidi vöö printf käsuga olete valmis oma terminalis printima keerukaid ja erinevaid stringe. Kui arendate oma Bash -skripte, on oluline veenduda, et töötate võimalikult produktiivses keskkonnas. See mitte ainult ei paranda teie käsurea oskusi, vaid parandab ka teie töövoogu üldiselt.

Jaga Jaga Piiksuma E -post 10 parimat Linuxi distributsiooni arendajatele

Kas olete valmis avatud lähtekoodiga operatsioonisüsteemis arendust alustama? Siin on parimad Linuxi distributsioonid programmeerimiseks.

kas mu sülearvuti saab käivitada Windows 10
Loe edasi Seotud teemad
  • Linux
  • Linux Bash Shell
  • Linuxi käsud
Autori kohta Jordan Gloor(51 artiklit avaldatud)

Jordan on MUO personalikirjanik, kes soovib muuta Linuxi kõigile kättesaadavaks ja stressivabaks. Samuti kirjutab ta juhendeid privaatsuse ja tootlikkuse kohta.

Veel Jordan Gloorilt

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin