printf (Unix)
Utvecklare | Olika öppen källkod och kommersiella utvecklare |
---|---|
Operativ system | Unix och Unix-liknande |
Plattform | Cross-plattform |
Typ | Kommando |
Licens | coreutils : GPLv3+ |
I Unix- och Unix-liknande operativsystem är printf (" print f ormatted") ett inbyggt skal ( och verktygsprogram) som formaterar och skriver ut data.
Kommandot accepterar en printf-formatsträng , som anger metoder för att formatera objekt och en lista över objekt som ska formateras . Uppkallad historiskt efter avsikten att skriva ut till en skrivare , matas den nu faktiskt ut till stdout . Tecken i formatsträngen kopieras till utdata eller, om en %
påträffas, används för att formatera ett objekt. Utöver standardformaten %b
att printf expanderar escape-sekvenser för bakåtstreck (till exempel \n
för nyrad ), och %q
matar ut ett objekt som kan användas som skalinmatning . Formatsträngen återanvänds om det finns fler objekt än formatspecifikationerna. Oanvända formatspecifikationer ger ett nollvärde eller en nollsträng .
Historia
printf
är en del av X/Open Portability Guide sedan nummer 4 av 1992. Den ärvdes till den första versionen av POSIX.1 och Single Unix Specification . Det dök först upp i 4.3BSD-Reno .
Versionen av printf
som är paketerad i GNU coreutils skrevs av David MacKenzie. Den har tillägget %q för att escape-strängar i POSIX-skalformat.
Exempel
$ för NUMBER i 4 6 8 9 10 > gör printf " >> %03d %d<< \n" $NUMBER $RANDOM > klart >> 004 26305<< >> 006 6687<< >> 008 20170<< >> 009 28322<< >> 010 4400<<
Detta kommer att skriva ut en kataloglista, som emulerar 'ls':
printf "%s\n" *
Se även
- printf , C-funktionen