Bash printf funkcija: 7 primjera za Linux

Bash printf funkcija: 7 primjera za Linux

Ako ste koristili Bash ljusku pristojno vrijeme, vjerojatno znate ispisivati ​​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 naše vještine skriptiranja Bash -a.





Što je Bash printf funkcija?

Kao što naziv govori, printf je funkcija koja ispisuje formatirane nizove teksta. To znači da možete napisati strukturu niza (format) i kasnije je ispuniti vrijednostima (argumentima).





Ako ste upoznati sa programskim jezicima C/C ++, možda već znate kako printf radi. Printf u Bash ljusci vrlo je sličan, ali ima nekoliko malih razlika.

Saznajte više: Najbolje web stranice za početak programiranja na C ++



Kako koristiti printf u Bash Shell -u

Osnovna sintaksa za printf je:

printf format [argument]

Printf će ispisati format niz tijekom implementacije propuštanja ( ) i direktivama ( % ) korištenjem navedenog argumenti . Obratite pozornost na izlaz sljedeće naredbe:





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

Printf je uzeo svijet argument i zamijenio %s znak u navedenom nizu s njim.

Možda ćete primijetiti da nakon ispisa Bash ne stvara novu liniju za vas. Za razliku od naredbe echo, printf neće pretpostaviti da želite novi redak nakon ispisa ispisa. Stoga ćete morati koristiti novi znak retka n u svakom slučaju.





Za ispis niza, a zatim prelazak na novi redak, upišite printf 'Zdravo, svijet n' .

Hello, world

Važno je imati na umu da će printf pokušati ponovno koristiti format za sve vaše argumente. Ovo možete koristiti u svoju korist, ali ako niste oprezni, možete završiti s ovakvim rezultatima:

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

Također morate biti svjesni da će, ako argument nedostaje, printf sve direktive protumačiti kao 0 (za broj) i null (za niz).

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

Sada kada znate kako Bash skriptiranje s printf -om u Linuxu radi, spremni ste ga početi koristiti u svojim naredbama.

Linux Bash printf Primjeri

Printf sadrži mnoge specifikatore formata koje možete koristiti u svojim skriptama. Ali danas ćemo pokriti samo neke uobičajene za ovu funkciju.

1. Formatirajte izlaz s nizom

Za oblikovanje izlaza s nizovima teksta upotrijebite %s direktiva.

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

2. Formatirajte izlazni niz s decimalama

Za oblikovanje niza s cijelim brojem možete koristiti %d direktiva za potpisanu decimalu.

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

Imajte na umu da ćete, ako u izlazu želite koristiti decimalni znak bez potpisa, morati koristiti % u umjesto direktive.

kako mogu vidjeti ono što je pregledano u privatnom pregledavanju?

Povezano: Što znači 'Bash' u Linuxu?

3. Izlazne matematičke funkcije pomoću printf

Oblikovanje matematičkih funkcija naredbom printf jednostavno je. Samo postavite svoj izraz unutar dvostrukih zagrada kao što to obično činite u Bashu, a izraz navedite na popisu argumenata.

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

4. Formatirajte heksadecimalne brojeve

Ako trebate formatirati heksadecimalni broj, upotrijebite % x za mala slova i % X za velika slova.

$ printf %X 1000
3E8C

Za ispis trenutnog datuma i vremena možete kombinirati printf sa datum narediti i donijeti sljedeće direktive.

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

Specifikatore formata za mjesec, dan, godinu, sat, minutu i sekundu možete vidjeti u gore spomenutim ispisima.

6. Formatirajte nizove s Unicode znakovima

Za ispis Unicode znakova s ​​printf, koristite 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. Dodajte razmak u izlaz

Možete oblikovati svoje nizove s razmakom definiranjem, prije specifikatora direktive, minimalnog broja ispisanih znakova. Neiskorišteni znakovi bit će ispunjeni razmacima.

Na primjer, tipkanje printf '%s:%5d n' 'Vrijednost 1' 25 'Vrijednost 2' 120 ispisat će:

Value 1: 25
Value 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 unesete negativni broj kao širinu, direktiva će biti poravnana lijevo umjesto desno.

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

Ako želite promjenjivu širinu, umjesto broja možete proslijediti zvjezdicu, a printf će upotrijebiti sljedeći broj koji pronađe na popisu argumenata.

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

Povezano: Sve što trebate znati o Bash For Loops u Linuxu

Učenje Linux printf naredbe

Pomoću naredbe printf u svom pojasu uslužnog programa za skriptiranje Bash spremni ste za početak ispisivanja složenih i različitih nizova na vašem terminalu. Dok razvijate svoje Bash skripte, važno je pobrinuti se da radite u što produktivnijem okruženju. Ovo ne samo da će poboljšati vaše vještine naredbenog retka, već će poboljšati i vaš tijek rada općenito.

Udio Udio Cvrkut E -pošta 10 najboljih Linux distribucija za programere

Spremni za početak razvoja operacijskog sustava otvorenog koda? Evo najboljih Linux distribucija za programiranje.

kako uključiti siguran način rada
Pročitajte Dalje Povezane teme
  • Linux
  • Linux Bash ljuska
  • Linux naredbe
O autoru Jordan Gloor(Objavljen 51 članak)

Jordan je pisac osoblja u MUO-u koji strastveno želi učiniti Linux pristupačnim i bez stresa za sve. On također piše vodiče o privatnosti i produktivnosti.

Više od Jordana Gloora

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu