Printf (Unix)
printf
je příkaz používaný v příkazové řádce pro formátování výstupu. Předlohou pro tento příkaz byla stejnojmenná funkce implementovaná v základní knihovně stdio.h[1] pro jazyky C a C++.
Implementace pro GNU coreutils byla napsána Davidem MacKenziem .
Použití
[editovat | editovat zdroj]Syntaxe příkazu printf
je velmi podobná syntaxi předlohové funkce z knihovny stdio.h:
$ printf "%.2f\n" "11.4243" "21.5534" 11.42 21.55
Oproti předlohové funkci implementované v stdio.h však unixové implementace nabízí další specifikátory: %q
a %b
[2].
Specifikátor %b
byl vytvořen jako nadstavba specifikátoru pro stringy (%s
) a je schopný správně interpretovat escapování znaků:
$ printf "%s" "Ahoj\t" "svete" Ahoj\tsvete $ printf "%b" "Ahoj\t" "svete" Ahoj svete
Specifikátor %q
je pak užitečný v případě, je-li potřeba použít výstup příkazu printf
jako vstup pro jiný příkaz.
Seznam některých specifikátorů
[editovat | editovat zdroj]Kompletní seznam specifikátorů je dostupný v manuálu příkazu printf (man printf
)
Specifikátor | Význam | Použití | Výstup |
---|---|---|---|
%f |
Desetinná čísla s různou přesností | printf %.3f 3.14159 |
3.142 |
%d nebo %i |
Celá čísla | printf %d 3.14159 |
3 |
%e |
Vědecká notace desetinných čísel | printf %e 3.14159 |
3.141590e+00 |
%g |
Vědecká nebo normální reprezentace desetinných čísel, vybrána kratší reprezentace | printf %g 3.14159 |
3.14159 |
%s |
Text | printf %s "Lorem \\ ipsum" |
Lorem \\ ipsum |
%b |
Text s escapováním znaků | printf %b "Lorem \\ ipsum" |
Lorem \ ipsum |
%% |
Vrací % | printf %% "Lorem \\ ipsum" |
% |
%q |
Formátuje výstup pro zpracování dalšími příkazy | printf %q "Lorem \\ ipsum" |
Lorem \ ipsum |
Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku printf(Unix) na anglické Wikipedii.
- ↑ fprintf (C) manual [online]. Dostupné online.
- ↑ printf (Unix) manual [online]. Dostupné online.