Kui olete Bashi kestat kasutanud korraliku aja jooksul, teate tõenäoliselt, kuidas printida stringe Linuxi terminalis käsu echo abil. Käsk printf muudab aga konkreetse vormindusega teksti printimise palju lihtsamaks.

Täna õpime, kuidas kasutada funktsiooni printf, et parandada meie Bashi skriptimise oskusi.

Mis on funktsioon Bash printf?

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

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

Lisateave: Parimad saidid C ++ programmeerimisega alustamiseks

Kuidas kasutada printf-i Bash Shellis

Printf põhisüntaks on:

printf-vorming [argument]

Printf prindib vormingus string rakendamise ajal põgeneb (\) ja direktiivid (%) abil määratletud argumendid. Pange tähele järgmise käsu väljundit:

instagram viewer
$ printf "Tere,% s" maailm
Tere, Maailm

Printf võttis endale maailmas argument ja asendas % s tähemärk määratud stringis koos sellega.

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

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

Tere, Maailm

Oluline on meeles pidada, et printf üritab kõigi teie argumentide jaoks vormingut uuesti kasutada. Võite seda oma huvides kasutada, kuid kui te pole ettevaatlik, võite jõuda selliste tulemusteni:

$ printf "Minu nimi on% s" Jordan Gloor
Minu nimi on Jordaania Minu nimi on Gloor

Samuti peaksite teadma, et kui argument puudub, tõlgendab printf kõiki direktiive nii 0 (numbri jaoks) ja null (stringi jaoks).

$ printf "Tere,% s."
Tere, .

Nüüd, kui teate, kuidas töötab Linuxi printf-failiga Bashi skriptimine, olete valmis seda oma käskudes kasutama.

Linux Bash printf näited

Printf sisaldab paljusid vorminguspetsiifereid, mida saate skriptides kasutada. Kuid täna käsitleme funktsiooni jaoks ainult mõnda levinumat.

1. Vormindage väljund stringiga

Väljundi tekstistringidega vormindamiseks kasutage nuppu % s direktiiv.

$ printf "% s on üks suurimaid veebipõhiseid% s." MUO "tehnoloogia väljaanded"
MUO on üks suurimaid veebitehnoloogia väljaandeid.

2. Vormindage väljundstring kümnendkohtadega

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

$ printf "MUO asutati% d." 2007
MUO asutati 2007. aastal.

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

Seotud: Mida tähendab "Bash" Linuxis?

3. Matemaatiliste funktsioonide väljund printf abil

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

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

4. Kuueteistkümnendarvude vormindamine

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

$ printf% X 1000
3E8C

5. Kuupäeva ja kellaaja printimine

Praeguse kuupäeva ja kellaaja printimiseks võite printf ühendada kuupäev käsk ja vastu võtta järgmised direktiivid.

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

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

6. Vormindage stringid Unicode'i märkidega

Unicode'i märkide printimiseks printf-iga kasutage nuppu \ u põgeneda 16-bitise Unicode'i eest 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ühik

Stringid saate vormindada tühikutega, määrates enne direktiivi täpsustajat minimaalse arvu printitud märke. Kasutamata tähemärgid täidetakse tühikutega.

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

Väärtus 1: 25
Väärtus 2: 120

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

Kui edastate laiusena negatiivse arvu, on direktiiv õigustatud vasakpoolse asemel.

$ printf "% -10s:% d" "Ringid" 25 "Kastid" 120
Ringid: 25 kasti: 120

Kui soovite muuta laiuse muutuja, võite numbri asemel edastada tärn ja printf kasutab järgmist numbrit, mille ta leiab argumentide loendist.

$ printf "% * s:% d" -10 "Ringid" 25-10 "Kastid" 120
Ringid: 25 kasti: 120

Seotud: Kõik, mida peate teadma Linuxi Bash for Loopsi kohta

Linuxi printfi käsu õppimine

Bashi skriptimise utiliidi käsu printf abil olete valmis terminalis keerukate ja varieeruvate stringide printimist alustama. Bashi skriptide väljatöötamisel on oluline veenduda, et töötate võimalikult produktiivses keskkonnas. See ei paranda mitte ainult teie käsurea oskusi, vaid ka teie töövoogu üldiselt.

E-post
10 parimat Linuxi distrot arendajatele

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

Loe edasi

Seotud teemad
  • Linux
  • Linux Bash Shell
  • Linuxi käsud
Autori kohta
Jordan Gloor (32 artiklit on avaldatud)

Jordan on juhendaja ja ajakirjanik, kes on kirglik selle nimel, et muuta Linux kõigile kättesaadavaks ja stressivabaks. Tal on inglise keele bakalaureusekraad ja asi kuuma tee jaoks. Soojal aastaajal naudib ta jalgrattaga Ozarksi künkaid, kus ta elab.

Veel Jordan Gloorilt

Telli meie uudiskiri

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

Veel üks samm !!!

Palun kinnitage oma e-posti aadress meilis, mille me just saatsime.

.