


Příkaz printf je dostupný jen v moderních shellech (je dostupný v bash). Podle specifikace X/Open byste mu při vytváření formátovaného výstupu měli dávat přednosti před příkazem echo. Jeho syntaxe je:
printf "formátovací řetězec" parametr1 parametr2 ...
Formátovací řetězec je (s určitými omezeními) podobný formátovacímu řetězci v jazyce C či C++. Především nejsou podporovány reálné proměnné, přotože veškerá aritmetika v shellu probíhá v oboru celých čísel. Formátovací řetězec je tvořen libovolnou kombinací písme, řídících sekvencí a konverzních specifikátorů. Všechny jiné znaky než % a \ se na výstupu objeví v původní podobě.
Jsou podporovány následující řídící sekvence:
| Popis | |
| \\ | Znak zpětné lomítko |
| \a | Varování (pípnutí) |
| \b | Znak zpětné lomítko |
| \b | Znak vysunutí stránky |
| \n | Znak nový řádek |
| \r | Návrat vozíku |
| \t | Znak tabulátor |
| \v | Znak vertikální tabulátor |
| \ooo | Znak, jehož osmičková hodnota je ooo. |
Konverzní specifikátor je o něco složitější, takže zde uvedeme jen běžně používané parametry. Další podrobnosti najdete v manuálu. Konverzní specifikátor je tvořen znakem % následovaným konverzním znakem. Základní konverze jsou tyto:
| Popis | |
| d | Vypíše desítkové číslo |
| c | Vypíše znak |
| s | Vypíše řetězec |
| % | Vypíše znak % |
Formátovací řetězec je pak použit k interpretaci zbylých paramterů a výstupu výsledku. Například:
xconsole$ printf "%s\n" hello
hello
xconsole printf "%s %d\t%s" "Hi there" 15 people
Hi There 15 people
