enero 21, 2025

Función Bash printf: 7 ejemplos para Linux

Si ha estado usando el shell Bash durante bastante tiempo, probablemente sepa cómo imprimir cadenas en la terminal de Linux usando el comando echo. Sin embargo, el comando printf simplifica enormemente la impresión de texto con un formato específico.

Hoy aprenderemos cómo usar la función printf para mejorar nuestras habilidades de scripting Bash.

¿Qué es la función Bash printf?

Como sugiere el nombre, printf es una función que imprime cadenas de texto formateadas. Esto significa que puede escribir una estructura de cadena (el formato) y luego llenarla con valores (los argumentos).

Si está familiarizado con los lenguajes de programación C / C ++, es posible que ya sepa cómo funciona printf. Printf en el shell Bash es muy similar, pero tiene algunas diferencias menores.

Más información: los mejores sitios para comenzar con la programación en C ++

Cómo usar printf en el shell Bash

La sintaxis básica de printf es:

printf format [argument]

Printf imprimirá el archivo formato cadena durante la implementación escapar () es directivas (%) mediante el uso de especificados argumentos. Tenga en cuenta el resultado del siguiente comando:

$ printf "Hello, %s" world
Hello, world

Printf tomó el mundo argumento y reemplazó el archivo % S carácter en la cadena especificada con él.

Puede notar que después de la salida, Bash no crea una nueva línea para usted. A diferencia del comando echo, printf no asume que desea una nueva línea después de que se imprimió la salida. Por lo tanto, deberá utilizar el carácter de nueva línea n de todos modos.

Para imprimir una cadena y luego pasar a una nueva línea, escriba printf “Hola, mundo n”.

Hello, world

Es importante tener en cuenta que printf intentará reutilizar el formato para todos sus argumentos. Puede usarlo a su favor, pero si no tiene cuidado, puede obtener resultados como este:

$ printf "My name is %s " Jordan Gloor
My name is Jordan My name is Gloor

También debe tener en cuenta que si falta un argumento, printf interpretará cualquier directiva como 0 (para un número) e nulo y sin efecto (para una cuerda).

$ printf "Hello, %s."
Hello, .

Ahora que sabe cómo funciona la secuencia de comandos Bash con printf en Linux, está listo para comenzar a usarla en sus comandos.

Ejemplos de printf de Linux Bash

Printf tiene muchos especificadores de formato que puede utilizar en sus scripts. Pero hoy cubriremos solo algunos de los comunes para la función.

1. Formatee la salida con una cadena

Para formatear la salida con cadenas de texto, use la extensión % S directiva.

$ printf "%s is one of the largest online %s." MUO "technology publications"
MUO is one of the largest online technology publications.

2. Formatee la cadena de salida con decimales

Para formatear una cadena con un número entero, puede usar el % D directiva para un decimal con signo.

$ printf "MUO was founded in %d." 2007
MUO was founded in 2007.

Tenga en cuenta que si desea utilizar un decimal sin signo en la salida, deberá utilizar el % u directiva en su lugar.

Relacionado: ¿Qué significa “Bash” en Linux?

3. Genere funciones matemáticas usando printf

Formatear funciones matemáticas con el comando printf es simple. Simplemente coloque su expresión entre corchetes dobles como lo hace normalmente en Bash y especifique la expresión en la lista de argumentos.

$ printf "1 + 1 is %d" $((1+1))
1 + 1 is 2

4. Formato de número hexadecimal

Si necesita formatear un número hexadecimal, use % X para letras minúsculas e % X para letras mayúsculas.

$ printf %X 1000
3E8C

Para imprimir la fecha y hora actuales, puede combinar printf con el archivo Fecha comando y pasar las siguientes directivas.

$ printf "%(%m-%d-%Y %H:%M:%S)T" $(date +%s)
03-26-2021 15:27:57

Puede ver los especificadores de formato para mes, día, año, hora, minuto y segundo en la salida anterior.

6. Formatee las cadenas con caracteres Unicode

Para imprimir caracteres Unicode con printf, utilice el u escape para Unicode e de 16 bits U para Unicode de 32 bits.

Por ejemplo, puede imprimir el archivo Derechos de autor símbolo con el siguiente comando:

$ printf "u00A9"
©

7. Agregue espacio a la salida.

Puede formatear cadenas con espaciado definiendo, antes del especificador de directiva, un número mínimo de caracteres impresos. Los caracteres no utilizados se rellenarán con espacios.

Por ejemplo, escribiendo printf “% s:% 5d n” “Valor 1” 25 “Valor 2” 120 Producirá:

Value 1:   25
Value 2: 120

El % 5 D el especificador de formato en la salida indica que la cadena formateada contendrá un mínimo de cinco caracteres. Dado que 25 tiene solo dos dígitos, se agregan espacios a los caracteres restantes.

Si pasa un número negativo como ancho, la directiva se justificará a la izquierda en lugar de a la derecha.

$ printf "%-10s: %d " "Circles" 25 "Boxes" 120
Circles : 25 Boxes : 120

Si desea hacer que el ancho sea variable, puede pasar un asterisco en lugar de un número y printf usará el siguiente número que encuentre en la lista de argumentos.

$ printf "%*s: %d " -10 "Circles" 25 -10 "Boxes" 120
Circles : 25 Boxes : 120

Relacionado: Todo lo que necesita saber sobre Bash For Loops en Linux

Aprendiendo el comando printf de Linux

Con el comando printf en el cinturón de herramientas Bash scripting, está listo para comenzar a imprimir cadenas complejas y variables en su terminal. A medida que desarrolla sus scripts Bash, es importante asegurarse de que está trabajando en el entorno más productivo posible. Esto no solo mejorará sus habilidades en la línea de comandos, sino que también mejorará su flujo de trabajo general.


desarrollador-linux-distro

10 mejores distribuciones de Linux para desarrolladores

¿Listo para comenzar el desarrollo en un sistema operativo de código abierto? Aquí están las mejores distribuciones de Linux para programación.

Leer siguiente


Sobre el Autor

.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *