Programación BASH

Comando Bash Printf

Comando Bash Printf
Al trabajar con scripts bash, usamos principalmente el comando "echo" para imprimir cualquier salida, que es conveniente y fácil de usar y cumple con los requisitos la mayor parte del tiempo. Pero la simplicidad viene con limitación; El comando echo tiene su propia limitación cuando se trata de formatear la salida, en ese caso, "printf"Comando juega su papel.

La "printf"Comando en bash scripting funciona de la misma manera"printf ()"Funciona en el lenguaje C. Esta publicación se centrará en el "printf"Comando, su sintaxis y ejemplos que detallan el uso de este comando. Revisemos la sintaxis del "printf"Comando:

printf

: Es opcional asignar salida a una variable.
: Es una cadena que puede contener diferentes especificadores de formato, como "% s", "% b", "% d", "% f" y escape de barra invertida
: Los argumentos pueden ser cualquier valor o variable

Cómo usar el comando printf en scripts bash usando el editor Vim:

Estamos usando el editor Vim para esta guía debido a su rica funcionalidad y facilidad de uso. Obtenga Vim en su dispositivo usando:

$ sudo apt install vim

Inicie el editor de vim:

$ vim

Escribamos un programa simple para imprimir una cadena usando "printf":

#! / bin / bash
printf "Hola Linuxhint"

Para guardar el archivo, presione el botón "Esc"Para cambiar el modo y luego escribir “: W ejemplo.sh ”y luego“Enter ”. Ahora abra una nueva ventana de terminal y escriba:

$ bash ejemplo.sh

El comando anterior ejecutará el script e imprimirá el texto "hello linuxhint" como se muestra a continuación:

Ahora, incluyamos algunos especificadores de formato:

#! / bin / bash
printf "% s \ n" "Hola Linuxhint"

En el ejemplo anterior, "% s" indica que el argumento correspondiente debe tratarse como una cadena y "\ n" para la nueva línea. De manera similar, si usamos "% d", entonces el argumento se tratará como un número entero:

#! / bin / bash
printf "% s \ n" "Hola Linuxhint" "Más información sobre" "Linux"

Los tres argumentos se tratarán como una cadena y se imprimirán en una nueva línea, como se muestra en el siguiente resultado:

Otro ejemplo se menciona a continuación para comprender mejor el uso del comando "printf":

#! / bin / bash
echo "Ingresa tu nombre"
leer nombre
echo "Ingresa tu edad"
leer edad
printf "Tu nombre:% s \ nTu edad:% s \ n" "$ nombre" "$ edad"

"Tu nombre:% s \ n Tu edad:% s \ n" tiene el formato "$ nombre" "$ Age" son los argumentos. Mientras que "% s" señala los argumentos.

Cómo usar especificadores de conversión con el comando printf:

Los especificadores de conversión son caracteres que se utilizan con el signo "%" para indicar cómo tratar los argumentos. Veamos la lista de algunos especificadores de uso común:

Especificador Ddescripción
%% Imprime el símbolo "%"
%C Toma argumentos como un solo carácter
% e y% E Tome el argumento en número de punto flotante e imprima en notación exponencial, %mi para letra minúscula y %MI para letra mayúscula
% gy% G Tome el argumento en número de punto flotante e imprima en notación normal o exponencial
%F Toma argumentos como números flotantes
%D Toma argumentos como enteros con signo
% u Toma argumentos como enteros sin signo
% o Toma el argumento como un número octal sin signo
% x y% X Toma argumentos como enteros hexadecimales sin signo

Elaboremos más los especificadores anteriores con un ejemplo en bash:

#! / bin / bash
echo "Ingresa un número para convertir"
leer el número
printf "Decimal:% d \ nOctal:% o \ nHex:% X \ n" "$ número" "$ número" "$ número"

Cómo usar las directivas Flag, Width y Precision con el comando printf:

Las directivas de bandera vienen con uso opcional con el comando "printf". Las directivas de banderas de uso común son

  • "-" Justifica a la izquierda la salida
  • "+" Agrega el signo "+" con un número entero
  • "0" Agrega "0" con un número en lugar de espacios

Las directivas de ancho agregan espacio con la salida que generalmente se usa después de la bandera. Entendamos con un ejemplo:

#! / bin / bash
echo "Ingresa tu nombre"
leer nombre
echo "Ingresa tu edad"
leer edad
printf "Tu nombre y edad son:% 5s% 5d \ n" "$ nombre" "edad"

"% 30s" significa que el espacio tiene 30 caracteres, y para alinear el formulario de salida a la izquierda, use el signo "-" "% -30s".

La directiva de precisión consta del punto ".”Seguido de un entero positivo:

#! / bin / bash
printf "%.2f ”2.56473

La salida sería:

Si el número es un entero, la directiva de precisión agregará "0" antes del número. Si el número es de tipo punto flotante, la directiva de precisión especificará el número de dígitos positivos después del punto decimal. Para cadena, especifica el número de caracteres que se mostrarán:

#! / bin / bash
printf "%.2f \ n ”2.468936
printf "%.3d \ n ”10
printf "%.3s \ n ”“ samlinux ”

Parámetros de escape con barra invertida:

Los parámetros de escape de barra invertida, también llamados secuencias de escape, se utilizan con una barra invertida para formatear la cadena con el comando "printf". Estas secuencias no se representan a sí mismas, sino que se interpretan en algunos otros caracteres. Algunas secuencias de escape de uso común son:

Personaje Descripción
\\ Imprime el carácter de barra invertida
\B Imprime el carácter de retroceso
\norte Imprime la salida en una nueva línea
\ r Imprime un retorno de carro (cursor al principio de la línea)
\ t Da espacio para pestañas desde la derecha
\ v Da espacio para pestañas

Conclusión:

Cuando se trata de imprimir algo en bash scripting, el comando "echo" se usa con mayor frecuencia porque es fácil de usar y recordar. Pero el comando "echo" tiene su limitación. Por lo tanto, para formatear correctamente la salida, "Printf" se puede usar el comando. La "Printf" El comando viene con muchas opciones para formatear la salida de la cadena e incluso las conversiones y el formato de números básicos. Esta guía comprende a fondo la funcionalidad del comando "printf" en scripts bash con ejemplos.

Cómo cambiar el tamaño, el color y el esquema del puntero del mouse y del cursor en Windows 10
El puntero y el cursor del mouse en Windows 10 son aspectos muy importantes del sistema operativo. Esto también se puede decir de otros sistemas opera...
Motores de juegos gratuitos y de código abierto para desarrollar juegos de Linux
Este artículo cubrirá una lista de motores de juegos de código abierto y gratuitos que se pueden usar para desarrollar juegos 2D y 3D en Linux. Existe...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider es la duodécima incorporación a la serie Tomb Raider, una franquicia de juegos de acción y aventuras creada por Eidos Montre...