Uso del comando printf en linux

Uso del comando printf en linux.

El comando printf en Linux, se usa para mostrar cadenas formateadas, ya sea por número o por cualquier otro especificador de formato en la ventana de nuestra terminal. Funciona de la misma manera, que printf en el lenguaje de programación C, que es su base.

Las salidas impresas del comando, incluso su forma de operar nos recuerda al comando echo. Estamos ante una práctica herramienta que tiene la capacidad, de reproducir resultados con formato preciso a partir de argumentos numéricos o textuales.

En este artículo, vemos algunos ejemplos de uso práctico.

Uso del comando printf

Uso del comando printf

 

Uso del comando printf en linux

La sintaxis de printf no es difícil, tan solo debes acostumbrarte a ella.

printf [-v var] formato [argumento]

Existen varios especificadores de formato, pero sin duda alguna los más utilizados son:

  • %s – Especificador de cadena para la salida.
  • %b – Nos permite interpretar secuencias de escape con un argumento.
  • %d – Permite mostrar valores integrales.
  • %x – Imprime valores hexadecimales en minúsculas con relleno de salida.
  • %f – Permite mostrar valores con coma flotante.

También se permiten secuencias de escape e incluso, caracteres ordinarios. Una de las más conocidas y casi imprescindible es «\n», que indica salto de línea.

Comando printf en linux

Comando printf en linux

 

Especificador %s

Cuando agregamos %s, indicamos una salida simple. Vemos un ejemplo.

printf "%s\n" "Hola, SoloLinux!"

El resultado.

sergio@sololinux:~$ printf "%s\n" "Hola, SoloLinux!"
Hola, SoloLinux!
sergio@sololinux:~$

Si no usáramos la secuencia «\n», el resultado sería visualmente horroroso.

printf "%s" "Hola, SoloLinux!"

Ejemplo de salida sin escape, por tanto sin salto de línea.

sergio@sololinux:~$ printf "%s" "Hola, SoloLinux!"
Hola, SoloLinux!sergio@sololinux:~$

 

Especificador %b

Similar a «%s», pero con la diferencia que soporta varias secuencias de escape, de forma que nos permite imprimir varias líneas bien formateadas. Vemos un ejemplo.

printf "%b\n" "Hola, SoloLinux! \n" "Gracias por vuestra labor\n"

Vemos una salida como esta.

sergio@sololinux:~$ printf "%b\n" "Hola, SoloLinux! \n" "Gracias por vuestra labor\n"
Hola, SoloLinux! 

Gracias por vuestra labor

sergio@sololinux:~$

A modo de aprendizaje ejecutamos el mismo comando, pero sustituyendo %b por %s. Así podemos verificar que %s, no soporta varias secuencias de escape. Revisa la siguiente imagen, las secuencias se imprimen como si fueran texto.

Salida del comando printf con errores

Salida del comando printf con errores

 

Especificador %d

Este especificador muestra los valores integrales de números enteros.

printf "%d\n" "2020" "2021"

Ejemplo de salida.

sergio@sololinux:~$ printf "%d\n" "2020" "2021"
2020
2021
sergio@sololinux:~$

 

Especificador %x

Imprime el hexadecimal de un valor con relleno de salida. Vemos un ejemplo.

printf "%08x\n" "2021"

Ejemplo de impresión en pantalla.

sergio@sololinux:~$ printf "%08x\n" "2021"
000007e5
sergio@sololinux:~$

 

Especificador %f

Imprime valores decimales con coma flotante. También rellena de ceros el valor decimal.

printf "%f\n" "1,82" "2,16"

Observa la salida…

sergio@sololinux:~$ printf "%f\n" "1,82" "2,16"
1,820000
2,160000
sergio@sololinux:~$

Debes tener presente, que los valores decimales deben estar separados por una coma. Si usas como separador un punto, recibirás un error. Vemos un ejemplo del error.

printf "%f\n" "1.82" "2.16"

Imagen del error.

Ejemplo de error del comando printf

Ejemplo de error del comando printf

 

Manual de printf

Puedes ver el manual integrado de la herramienta, con el siguiente comando.

man printf

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. Uso del comando printf en linux.

Chat de SoloLinux en Telegram

 

2 Comentarios

  1. Henry
    08/02/2021
    • Sergio G.B.
      08/02/2021

Agregar comentario

1 logo sololinux

Suscríbete a SoloLinux

Recibe todos los nuevos artículos es tu correo electrónico

You have Successfully Subscribed!

Ir al contenido