Bash printf Funcție: 7 exemple pentru Linux

Bash printf Funcție: 7 exemple pentru Linux

Dacă folosiți shell-ul Bash pentru o perioadă decentă de timp, probabil știți cum să imprimați șiruri de caractere în terminalul Linux folosind comanda echo. Cu toate acestea, comanda printf facilitează mult imprimarea textului cu formatare specifică.





Astăzi vom învăța cum să folosim funcția printf pentru a ne îmbunătăți abilitățile de scriptare Bash.





Ce este funcția Bash printf?

După cum sugerează și numele, printf este o funcție care imprimă șiruri de text formatate. Asta înseamnă că puteți scrie o structură de șiruri (formatul) și ulterior o completați cu valori (argumentele).





Dacă sunteți familiarizat cu limbajele de programare C / C ++, este posibil să știți deja cum funcționează printf. Printf din shell-ul Bash este foarte similar, dar are câteva mici diferențe.

Aflați mai multe: Cele mai bune site-uri pentru a începe cu programarea C ++



Cum se folosește printf în Bash Shell

Sintaxa de bază pentru printf este:

printf format [argument]

Printf va imprima fișierul format șir în timpul implementării scurgeri ( ) și directivelor ( % ) prin utilizarea specificațiilor argumente . Rețineți ieșirea următoarei comenzi:





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

Printf a luat lume argument și a înlocuit % s caracter în șirul specificat cu acesta.

Este posibil să observați că după ieșire, Bash nu creează o nouă linie pentru dvs. Spre deosebire de comanda echo, printf nu va presupune că doriți o nouă linie după imprimarea ieșirii. Astfel, va trebui să utilizați noul caracter de linie n în fiecare caz.





Pentru a imprima un șir și apoi a trece la o nouă linie, tastați printf „Bună ziua, lume n” .

Hello, world

Este important să rețineți că printf va încerca să refolosească formatul pentru toate argumentele dvs. Puteți utiliza acest lucru în avantajul dvs., dar dacă nu sunteți atent, puteți ajunge la rezultate de acest fel:

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

De asemenea, trebuie să știți că, dacă lipsește un argument, printf va interpreta orice directivă ca fiind 0 (pentru un număr) și nul (pentru un șir).

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

Acum că știți cum funcționează scripturile Bash cu printf în Linux, sunteți gata să începeți să îl utilizați în comenzile dvs.

Linux Bash printf Exemple

Printf are multe specificații de format pe care le puteți utiliza în scripturi. Dar astăzi vom acoperi doar unele comune pentru funcție.

1. Formatați ieșirea cu un șir

Pentru a formata ieșirea cu șiruri de text, utilizați % s directivă.

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

2. Formatați șirul de ieșire cu zecimale

Pentru a formata un șir cu un număr întreg, puteți utiliza fișierul % d directivă pentru o zecimală semnată.

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

Rețineți că, dacă doriți să utilizați o zecimală nesemnată în ieșire, va trebui să utilizați % u directivă în schimb.

redarea muzicii de pe telefon în mașină

Legate de: Ce înseamnă „Bash” în Linux?

3. Ieșirea funcțiilor matematice utilizând printf

Formatarea funcțiilor matematice cu comanda printf este ușoară. Așezați-vă expresia în paranteze duble, așa cum faceți în mod normal în Bash și specificați expresia în lista de argumente.

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

4. Formatați numerele hexazecimale

Dacă trebuie să formatați un număr hexazecimal, utilizați % X pentru minuscule și % X pentru majuscule.

$ printf %X 1000
3E8C

Pentru a imprima data și ora curente, puteți combina printf cu Data comandați și treceți următoarele directive.

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

Puteți vedea specificatorii de format pentru lună, zi, an, oră, minut și al doilea în ieșirea menționată mai sus.

6. Formatează șirurile cu caractere Unicode

Pentru a imprima caractere Unicode cu printf, utilizați u escape pentru Unicode pe 16 biți și U pentru Unicode pe 32 de biți.

De exemplu, puteți imprima fișierul drepturi de autor simbol cu ​​următoarea comandă:

$ printf 'u00A9'
©

7. Adăugați spațiu la ieșire

Puteți formata șirurile dvs. cu spațiere definind, înainte de specificatorul directivei, un număr minim de caractere tipărite. Caracterele neutilizate vor fi completate cu spații.

De exemplu, tastarea printf '% s:% 5d n' 'Valoare 1' 25 'Valoare 2' 120 va produce:

Value 1: 25
Value 2: 120

The % 5d specificatorul de format din ieșire indică faptul că șirul formatat va conține cel puțin cinci caractere. Deoarece 25 are doar două cifre, spațiile sunt adăugate caracterelor rămase.

Dacă treceți un număr negativ ca lățime, directiva va fi justificată la stânga în loc de justificată la dreapta.

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

Dacă doriți să faceți variabila lățime, puteți trece un asterisc în locul unui număr, iar printf va utiliza următorul număr pe care îl găsește în lista de argumente.

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

Legate de: Tot ce trebuie să știți despre Bash For Loops în Linux

Învățarea comenzii Linux printf

Cu comanda printf din centura utilitară de scriptare Bash, sunteți gata să începeți să imprimați șiruri complexe și variabile în terminalul dvs. Pe măsură ce vă dezvoltați scripturile Bash, este important să vă asigurați că lucrați în cel mai productiv mediu posibil. Acest lucru nu numai că vă va îmbunătăți abilitățile din linia de comandă, ci vă va îmbunătăți și fluxul de lucru în general.

Acțiune Acțiune Tweet E-mail Cele mai bune 10 distribuții Linux pentru dezvoltatori

Sunteți gata să începeți dezvoltarea unui sistem de operare open source? Iată cele mai bune distribuții Linux pentru programare.

cum să descărcați filme de pe site-uri web
Citiți în continuare Subiecte asemănătoare
  • Linux
  • Linux Bash Shell
  • Comenzi Linux
Despre autor Jordan Gloor(51 articole publicate)

Jordan este un scriitor de personal la MUO, pasionat de a face Linux accesibil și fără stres pentru toată lumea. De asemenea, scrie ghiduri privind confidențialitatea și productivitatea.

Mai multe de la Jordan Gloor

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona