Ako koristite Bash školjku već pristojno vrijeme, vjerojatno znate kako ispisati nizove u Linux terminalu pomoću naredbe echo. Naredba printf, međutim, znatno olakšava ispis teksta s određenim oblikovanjem.
Danas ćemo naučiti kako koristiti funkciju printf kako bismo poboljšali svoje vještine skriptiranja Bash.
Što je funkcija Bash printf?
Kao što i samo ime govori, printf je funkcija koja ispisuje formatirane nizove teksta. To znači da možete napisati strukturu niza (format) i kasnije je popuniti vrijednostima (argumentima).
Ako ste upoznati s programskim jezicima C / C ++, možda već znate kako printf radi. Printf u ljusci Basha vrlo je sličan, ali ima nekoliko malih razlika.
Saznajte više: Najbolje web stranice za započinjanje programiranja na C ++
Kako se koristi printf u Bash Shell-u
Osnovna sintaksa za printf je:
format printf [argument]
Printf će ispisati format string tijekom provedbe bježi (\) i direktive (%) korištenjem navedenih argumenti. Zabilježite izlaz sljedeće naredbe:
$ printf "Zdravo,% s" svijet
Pozdrav svijete
Printf je uzeo svijet argument i zamijenio % s znak u navedenom nizu s njim.
Možda ćete primijetiti da nakon izlaza Bash ne stvara novi redak za vas. Za razliku od naredbe echo, printf neće pretpostaviti da želite novi redak nakon ispisa izlaza. Stoga ćete trebati upotrijebiti znak nove crte \ n u svakom slučaju.
Da biste ispisali niz, a zatim prešli na novi redak, upišite printf "Zdravo, svijet \ n".
Pozdrav svijete
Važno je imati na umu da će printf pokušati ponovno upotrijebiti format za sve vaše argumente. Ovo možete iskoristiti u svoju korist, ali ako niste oprezni, na kraju možete dobiti ovakve rezultate:
$ printf "Zovem se% s" Jordan Gloor
Moje ime je Jordan Moje ime je Gloor
Također biste trebali biti svjesni da će, ako nedostaje argument, printf protumačiti sve direktive kao 0 (za broj) i nula (za niz).
$ printf "Pozdrav,% s."
Zdravo, .
Sad kad znate kako Bash skriptiranje s printfom u Linuxu funkcionira, spremni ste ga početi koristiti u svojim naredbama.
Primjeri Linux Bash printf-a
Printf sadrži mnoge specifikatore formata koje možete koristiti u svojim skriptama. Ali danas ćemo za funkciju pokriti samo neke uobičajene.
1. Izlaz formatirajte nizom
Za oblikovanje rezultata s nizovima teksta koristite % s direktiva.
$ printf "% s je jedan od najvećih mrežnih% s." MUO "tehnološke publikacije"
MUO je jedna od najvećih internetskih tehnoloških publikacija.
2. Formatiraj izlazni niz s decimalama
Da biste formatirali niz s cijelim brojem, možete upotrijebiti % d smjernica za potpisanu decimalu.
$ printf "MUO je osnovan% d." 2007
MUO je osnovan 2007. godine.
Imajte na umu da ako želite u izlazu upotrijebiti nepotpisanu decimalu, morat ćete upotrijebiti % u umjesto toga.
Povezano: Što znači "Bash" u Linuxu?
3. Izlazne matematičke funkcije pomoću printf
Oblikovanje matematičkih funkcija pomoću naredbe printf jednostavno je. Samo stavite svoj izraz u dvostruke zagrade kao što to obično radite u Bashu i navedite izraz na popisu argumenata.
$ printf "1 + 1 je% d" $ ((1 + 1))
1 + 1 je 2
4. Formatirajte heksadecimalne brojeve
Ako trebate formatirati heksadecimalni broj, upotrijebite %x za mala slova i %X za velika slova.
$ printf% X 1000
3E8C
5. Ispis datuma i vremena
Da biste ispisali trenutni datum i vrijeme, printf možete kombinirati s datum narediti i donijeti sljedeće smjernice.
$ printf "% (% m-% d-% Y% H:% M:% S) T" $ (datum +% s)
03-26-2021 15:27:57
U gore spomenutom izlazu možete vidjeti specifikatore formata za mjesec, dan, godinu, sat, minutu i sekundu.
6. Formatiraj nizove s Unicode znakovima
Za ispis Unicode znakova s printf upotrijebite \ u bijeg za 16-bitni Unicode i \ U za 32-bitni Unicode.
Na primjer, možete ispisati autorska prava simbol sa sljedećom naredbom:
$ printf "\ u00A9"
©
7. Između dodajte razmak
Možete oblikovati nizove s razmakom definirajući, prije specifikatora direktive, minimalni broj ispisanih znakova. Neiskorišteni znakovi popunjavaju se razmacima.
Na primjer, tipkanje printf "% s:% 5d \ n" "Vrijednost 1" 25 "Vrijednost 2" 120 će izlaziti:
Vrijednost 1: 25
Vrijednost 2: 120
The % 5d Specifikator formata u izlazu označava da će formatirani niz sadržavati najmanje pet znakova. Budući da 25 ima samo dvije znamenke, preostalim se znakovima dodaju razmaci.
Ako negativni broj prenesete kao širinu, direktiva će biti poravnata lijevo, a ne desno.
$ printf "% -10s:% d" "Krugovi" 25 "Kutije" 120
Krugovi: 25 kutija: 120
Ako želite napraviti varijablu širine, umjesto broja možete dodati zvjezdicu, a printf će upotrijebiti sljedeći broj koji pronađe na popisu argumenata.
$ printf "% * s:% d" -10 "Kružnice" 25 -10 "Kutije" 120
Krugovi: 25 kutija: 120
Povezano: Sve što trebate znati o Bash For Loops u Linuxu
Učenje naredbe Linux printf
Pomoću naredbe printf u pojasu uslužnog programa za skriptiranje Bash spremni ste za početak ispisa složenih i različitih nizova na vašem terminalu. Dok razvijate svoje Bash skripte, važno je osigurati da radite u najproduktivnijem mogućem okruženju. To ne samo da će poboljšati vaše vještine naredbenog retka, već će poboljšati i vaš tijek rada općenito.
Spremni započeti razvoj na operativnom sustavu otvorenog koda? Evo najboljih Linux distribucija za programiranje.
Pročitajte Dalje
- Linux
- Linux Bash Shell
- Linux naredbe
Jordan je učitelj i novinar koji strastveno želi učiniti Linux pristupačnim i bez stresa za sve. Ima diplomu engleskog jezika i sprema se za vrući čaj. Tijekom toplih sezona uživa vozeći bicikl po brdima Ozarkova u kojima živi.
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!
Još jedan korak…!
Potvrdite svoju e-adresu u e-pošti koju smo vam upravo poslali.