Articulo de referencia

printf (Unix)

{{Cite web|url=https://linux.die.net/man/1/printf|title=printf(1): format/print data - Linux man page|website=linux.die.net|access-date=2019-02-24|archive-date=2018-11-21|archiv...

printfes un comando de shell que formatea y genera texto como la función C del mismo nombre . Está disponible en varios sistemas Unix y similares a Unix . Algunos shells implementan el comando como integrado y otros lo proporcionan como un programa de utilidad [ 2 ].

El comando tiene una sintaxis y semántica similares a las de la función de la biblioteca. El comando imprime texto en la salida estándar [ 3 ] según lo especificado por una cadena de formato y una lista de valores. Los caracteres de la cadena de formato se copian a la salida tal cual, excepto cuando se encuentra un especificador de formato, en cuyo caso se imprime un valor según dicho especificador.

El comando tiene algunos aspectos que lo diferencian de la función de la biblioteca. Además de los especificadores de formato de la función de la biblioteca, %bhace que el comando expanda las secuencias de escape de barra invertida (por ejemplo, \npara salto de línea ) y %qgenera un elemento que se puede usar como entrada de shell . [ 3 ] El valor utilizado para un especificador no coincidente (muy pocos valores) es una cadena vacía para %so 0 para un especificador numérico. Si hay más valores que especificadores, el comando reinicia el procesamiento de la cadena de formato desde su inicio.

El comando forma parte de la Guía de Portabilidad X/Open desde el número 4 de 1992. Se heredó en la primera versión de POSIX.1 y en la Especificación Única de Unix . [ 4 ] Apareció por primera vez en 4.3BSD-Reno . [ 5 ]

La implementación incluida en GNU Core Utilities fue escrita por David MacKenzie. Tiene una extensión %q para escapar cadenas en formato POSIX-shell. [ 3 ]

Ejemplos

Esto imprime una lista de números:

$ para N en 4 8 10 ; hacer printf " >> %03d << \n" $N ; hecho >> 004 << >> 008 << >> 010 << 

Esto produce una salida para el contenido de un directorio similar a ls:

$ printf "%s\n" * 

Referencias

  1. "printf(1): formatear/imprimir datos - página man de Linux" . linux.die.net . Archivado del original el 21/11/2018 . Consultado el 24/02/2019 .
  2. "GNU Coreutils" . www.gnu.org . Archivado del original el 5 de febrero de 2004. Consultado el 27 de febrero de 2019 .
  3. 1 2 3Manual de usuario de Linux – Comandos de usuario de Manned.orgprintf(1)  
  4. Shell and Utilities Reference, The Single UNIX Specification , Versión 5 de The Open Groupprintf  
  5. Manual de comandos generales de FreeBSDprintf(1)