Funkcija Bash printf: 7 primerov za Linux

Funkcija Bash printf: 7 primerov za Linux

Če lupino Bash uporabljate že kar nekaj časa, verjetno veste, kako natisniti nize v terminalu Linux z ukazom echo. Ukaz printf pa olajša tiskanje besedila s posebnim oblikovanjem.





Danes se bomo naučili, kako uporabiti funkcijo printf za izboljšanje naših skriptnih sposobnosti Bash.





Kaj je funkcija Bash printf?

Kot že ime pove, je printf funkcija, ki natisne oblikovane nize besedila. To pomeni, da lahko napišete strukturo niza (format) in jo pozneje izpolnite z vrednostmi (argumenti).





Če poznate programske jezike C/C ++, morda že veste, kako deluje printf. Printf v lupini Bash je zelo podoben, vendar ima nekaj majhnih razlik.

Nauči se več: Najboljša spletna mesta za začetek programiranja C ++



Kako uporabljati printf v lupini Bash

Osnovna skladnja za printf je:

printf format [argument]

Printf bo natisnil format niz med izvajanjem puščanja ( ) in direktivah ( % ) z uporabo določenega argumenti . Upoštevajte izpis tega ukaza:





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

Printf je vzel svet argument in nadomestil %s znak v podanem nizu z njim.

Morda boste opazili, da vam Bash po izhodu ne ustvari nove vrstice. Za razliko od ukaza echo, printf ne bo predpostavil, da želite novo vrstico po tiskanju izhoda. Tako boste morali uporabiti nov znak vrstice n v vsakem primeru.





Če želite natisniti niz in se nato premakniti v novo vrstico, vnesite printf 'Pozdravljeni, svet n' .

Hello, world

Pomembno je vedeti, da bo printf poskušal ponovno uporabiti obliko za vse vaše argumente. To lahko uporabite v svojo korist, če pa niste previdni, lahko dobite naslednje rezultate:

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

Prav tako se morate zavedati, da če argument manjka, bo printf vse direktive interpretiral kot 0 (za številko) in nič (za niz).

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

Zdaj, ko veste, kako deluje skript Bash s printf v Linuxu, ste pripravljeni, da ga začnete uporabljati v ukazih.

Linux Bash printf Primeri

Printf vsebuje številne specifikatorje oblik, ki jih lahko uporabite v svojih skriptih. Danes pa bomo za to funkcijo obravnavali le nekatere običajne.

1. Oblikujte izhod z nizom

Za oblikovanje izpisa z nizi besedila uporabite datoteko %s direktivo.

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

2. Formatirajte izhodni niz z decimalkami

Če želite niz oblikovati s celim številom, lahko uporabite %d direktivo za podpisano decimalko.

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

Upoštevajte, da če želite v izhodu uporabiti nepodpisano decimalno mesto, boste morali uporabiti datoteko % u namesto tega direktivo.

kako naredim bitmoji

Povezano: Kaj pomeni 'Bash' v Linuxu?

3. Izhodne matematične funkcije z uporabo printf

Oblikovanje matematičnih funkcij z ukazom printf je preprosto. Samo postavite izraz znotraj dvojnih oklepajev, kot običajno v Bashu, in izraz podajte na seznamu argumentov.

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

4. Oblikujte šestnajstiška števila

Če morate formatirati šestnajstiško število, uporabite % x za male črke in % X za velike tiskane črke.

$ printf %X 1000
3E8C

Če želite natisniti trenutni datum in uro, lahko printf kombinirate z datum ukaz in posredujte naslednje direktive.

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

Specifikatorje oblike za mesec, dan, leto, uro, minuto in sekundo si lahko ogledate v prej omenjenem izpisu.

6. Formatirajte nize z znaki Unicode

Če želite natisniti znake Unicode s funkcijo printf, uporabite u pobeg za 16-bitno Unicode in U za 32-bitno Unicode.

Natisnete lahko na primer avtorske pravice simbol z naslednjim ukazom:

$ printf 'u00A9'
©

7. Izhodu dodajte razmik

Niz lahko oblikujete z razmikom tako, da pred specifikatorjem direktive določite minimalno število natisnjenih znakov. Neuporabljeni znaki bodo zapolnjeni s presledki.

Na primer tipkanje printf '%s:%5d n' 'Vrednost 1' 25 'Vrednost 2' 120 bo izpisal:

Value 1: 25
Value 2: 120

The %5d Specifikator oblike v izhodu označuje, da bo oblikovan niz vseboval najmanj pet znakov. Ker ima 25 samo dve števki, se preostalim znakom dodajo presledki.

Če kot širino posredujete negativno število, bo direktiva levo poravnana namesto desne.

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

Če želite spremeniti širino, lahko namesto številke posredujete zvezdico in printf bo uporabil naslednjo številko, ki jo najde na seznamu argumentov.

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

Povezano: Vse, kar morate vedeti o Bash For Loops v Linuxu

Učenje ukaza Linux printf

Z ukazom printf v pasu pripomočkov za pisanje skriptov Bash ste pripravljeni na tiskanje kompleksnih in različnih nizov v svojem terminalu. Ko razvijate svoje skripte Bash, je pomembno, da delate v čim bolj produktivnem okolju. To ne bo samo izboljšalo vaših veščin ukazne vrstice, ampak bo izboljšalo tudi vaš potek dela na splošno.

Deliti Deliti Cvrkutati E-naslov 10 najboljših distributerjev Linuxa za razvijalce

Ste pripravljeni na razvoj odprtokodnega operacijskega sistema? Tu so najboljše distribucije Linuxa za programiranje.

kako se odločiti, katero igro bomo igrali
Preberite Naprej Sorodne teme
  • Linux
  • Linux Bash Shell
  • Ukazi Linuxa
O avtorju Jordan Gloor(Objavljenih 51 člankov)

Jordan je pisatelj osebja pri MUO, ki si prizadeva, da bi bil Linux dostopen in brez stresa za vsakogar. Piše tudi vodnike o zasebnosti in produktivnosti.

Več od Jordana Gloorja

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite