printf
Comanda UNIX printf este folosită în special în scripturi pentru tipărirea pe ecran a datelor. Comanda provine din limbajul C, unde există o funcție cu același nume.
Comanda este implementată în pachetul GNU coreutils. Pe unele sisteme, o comandă printf cu o funcționalitate similară este de asemenea disponibilă ca un bash built-in. Pentru a distinge între cele două, la invocare se poate folosi cale completă a executabilului (/usr/bin/printf), sau poate fi invocată folosind env.
Sintaxă
[modificare | modificare sursă]printf FORMAT [ARGUMENTE]
unde FORMAT controlează modul în care sunt tipărite pe ecran argumentele. Formatul poate fi:
- \NNN - caracter octal cu valoarea NNN (trei digiți)
- \xHH - valoare hexazecimală (unul sau doi digiți)
- \uHHHH - valoare hexazecimală pentru caracter Unicode (patru digiți)
- \UHHHHHHHH - valoare hexazecimală pentru caracter Unicode (patru digiți)
Formatul acceptă de asemenea formele %CHAR din limbajul C, unde CHAR poate fi una din literele d, i, o, u, x, X, f, e, E, g, G, c sau s.
Exemple
[modificare | modificare sursă]printf ca un bash built-in:
$ printf "culoare %s, număr %d\n" albastru 23 culoare albastru, număr 23
Comanda printf:
$ /usr/bin/printf "culoare %s, număr %d\n" albastru 23 culoare albastru, număr 23
Invocarea folosind env:
$ env printf '\u20AC 14.95 \n' € 14.95
Funcția de sistem
[modificare | modificare sursă]În limbajul C, printf desemnează o familie de funcții. Se poate tipări pe ecran (printf), într-un fișier (fprintf), sau într-un string (sprintf). Funcții pentru procesarea unei liste variabile de argumente (vprintf, ...) sunt de asemenea disponibile.
#include <stdio.h> int printf(const char *format, ...); int fprintf(FILE *stream, const char *format, ...); int sprintf(char *str, const char *format, ...); int snprintf(char *str, size_t size, const char *format, ...); #include <stdarg.h> int vprintf(const char *format, va_list ap); int vfprintf(FILE *stream, const char *format, va_list ap); int vsprintf(char *str, const char *format, va_list ap); int vsnprintf(char *str, size_t size, const char *format, va_list ap);
Exemplu:
printf("Color %s, number1 %d, number2 %05d, hex %x, float %5.2f, unsigned value %u.\n", "red", 123456, 89, 255, 3.14159, 250);
va tipări pe ecran:
Color red, number1 123456, number2 00089, hex ff, float 3.14, unsigned value 250.
Legături externe
[modificare | modificare sursă]- en Pagina de manual
- en printf Commands & Utilities Reference, The Single UNIX® Specification, Issue 7 from The Open Group
- en Documentația printf din GNU Coreutils
- en Funcția printf - System Interfaces Reference, The Single UNIX® Specification, Issue 7 from The Open Group
- en Specificația formatului printf
linia de comandă pentru Unix (mai multe) | Programe în|||
Management de fișiere: | cat | cd | chmod | chown | chgrp | cksum | cmp | cp | du | df | file | fsck | ln | ls | lsof | mkdir | mount | mv | pwd | rm | rmdir | split | touch | ||
Management de procese: | at | chroot | cron | exit | kill | killall | nice | pgrep | pidof | pkill | ps | pstree | sleep | time | top | wait | ||
Management utilizator/mediu: | env | finger | id | mesg | passwd | su | sudo | uname | uptime | w | wall | who | whoami | write | ||
Procesare text: | awk | comm | cut | ed | ex | fmt | head | iconv | join | less | more | paste | sed | sort | tac | tail | tr | uniq | wc | xargs | ||
Programare Shell: | basename | echo | expr | false | printf | test | true | unset | Imprimare: lp | |
Communicații: inetd | netstat | ping | rlogin | traceroute | Căutare: find | grep | strings | Diverse: banner | bc | cal | dd | man | size | yes |