Č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
5. Natisnite datum in čas
Č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 razvijalceSte pripravljeni na razvoj odprtokodnega operacijskega sistema? Tu so najboljše distribucije Linuxa za programiranje.
kako se odločiti, katero igro bomo igraliPreberite Naprej Sorodne teme
- Linux
- Linux Bash Shell
- Ukazi Linuxa
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 GloorjaNaroč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