Ce face printf
Spre deosebire de echo (care are comportamente ușor diferite între diverse shell-uri și sisteme UNIX), printf este complet standardizat și predictibil.
Permite alinierea textului pe coloane fixe, specificarea numărului de zecimale pentru numere și formatarea tabelelor direct în consolă. Spre deosebire de echo, nu adaugă linie nouă automată decât dacă specifici explicit \n.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
%s |
Specificator pentru șir de caractere (text). |
%d, %i |
Specificator pentru număr întreg cu semn. |
%.2f |
Specificator pentru număr real cu virgulă, rotunjit la două zecimale. |
%-15s |
Aliniază textul la stânga într-un spațiu rezervat de exact 15 caractere. |
Exemple
Exemplul 1: Formatarea unui tabel aliniat pe coloane
Construim un tabel curat fără spații manuale imprecise.
printf "%-10s %-8s %s\n" "Produs" "Pret" "Moneda"
printf "%-10s %-8.2f %s\n" "Paine" 4.50 "RON"
printf "%-10s %-8.2f %s\n" "Lapte" 8.25 "RON"
Rezultat
Produs Pret Moneda
Paine 4.50 RON
Lapte 8.25 RON
Greșeli frecvente
- Omiterea caracterului
\nde la sfârșitul șirului de format, ceea ce determină afișarea următorului text pe același rând.