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:
$ 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.
Kas olete valmis avatud lähtekoodiga operatsioonisüsteemis arendust alustama? Siin on programmeerimiseks parimad Linuxi distrod.
Loe edasi
- Linux
- Linux Bash Shell
- Linuxi käsud
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.
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.