Comando de printf bash

Comando de printf bash
Trabajando con secuencias de comandos bash, utilizamos principalmente el comando "Echo" para imprimir cualquier salida, lo cual es conveniente y fácil de usar y cumple con el requisito la mayor parte del tiempo. Pero la simplicidad viene con la limitación; El comando echo tiene su propia limitación cuando se trata de formatear la salida, en ese caso, "printf"El comando juega su papel.

El "printf"El comando en Bash Scripting funciona de la misma manera"printf ()"Funciona en el idioma C. Esta publicación se centrará en el "printfComando ", su sintaxis y ejemplos que elaboran aún más el uso de este comando. Vamos a ver la sintaxis del "printf" dominio:

printf

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

Cómo usar el comando printf en scripting bash usando el editor VIM:

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

$ sudo apt install vim

Lanzamiento del editor VIM:

$ vim

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

#! /bin/bash
printf "Hola Linuxhint"

Para guardar el archivo, presione el "Esc"Botón para cambiar el modo y luego escribir ": W Ejemplo.sh "y luego"Entrer ". Ahora abra una nueva ventana de terminal y escriba:

Ejemplo de $ bash.mierda

El comando de arriba ejecutará el script el texto imprimir "hola linuxhint" como se muestra a continuación:

Ahora, incluamos algunos especificadores de formato:

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

En el ejemplo anterior, "%s" dice que el argumento correspondiente debe tratarse como una cadena y "\ n" para la nueva línea. Del mismo modo, si usamos "%D", entonces el argumento será tratado como un entero:

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

Los tres argumentos serán tratados como una cadena e impreso en una nueva línea como se demuestra en la siguiente salida:

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

#! /bin/bash
echo "Ingrese su nombre"
nombre de lectura
Echo "Ingresa tu edad"
edad de lectura
Printf "Su nombre: %S \ nyour Edad: %S \ n" "$ Nombre" "$ edad"

"Su nombre: %s \ n su edad: %s \ n" es formato, mientras que "$ nombre" "$ Edad" son los argumentos. Mientras que "%s" apuntando los argumentos.

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

Los especificadores de conversión son caracteres utilizados con el signo "%" para indicar cómo tratar los argumentos. Verifiquemos la lista de algunos especificadores comúnmente utilizados:

Especificador Dbreve
%% Imprime símbolo "%"
%C Toma argumentos como un solo personaje
%E y %E Tome argumento en un número de punto flotante e impresiones en notación exponencial, %mi para carta minúscula y %MI por letra mayúscula
%G y %G Tome argumento en un número de punto flotante e impresiones en notación normal o exponencial
%F Se argumenta como números flotantes
%d Toma argumentos como enteros firmados
%u Toma argumentos como enteros sin firmar
%O Toma la discusión como un número octal sin firmar
%x y %x Toma argumentos como enteros hexadecimales sin firmar

Elabremos aún más los especificadores anteriores con un ejemplo en Bash:

#! /bin/bash
echo "Ingrese un número para convertir"
número de lectura
printf "decimal: %d \ noctal: %o \ nhex: %x \ n" "$ número" "$ número" "$ número"

Cómo usar directivas de bandera, ancho y precisión con el comando printf:

Las directivas de la bandera vienen con uso opcional con el comando "printf". Las directivas de bandera comúnmente utilizadas son

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

Las directivas de ancho agregan espacio con la salida generalmente utilizada después del indicador. Entendámoslo con un ejemplo:

#! /bin/bash
echo "Ingrese su nombre"
nombre de lectura
Echo "Ingresa tu edad"
edad de lectura
printf "Su nombre y edad son: %5s %5d \ n" "$ Nombre" "Edad"

"%30s" significa que el espacio tiene 30 caracteres, y para alinear el formulario de salida izquierdo, use el "-" firmar "%-30s".

La directiva de precisión consiste en el punto "."Siguiendo por Integer 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 de punto flotante, la directiva de precisión especificará el número de dígitos positivos después del punto decimal. Para la 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 escapados de barra de barra de barra

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

Personaje Descripción
\\ Imprime el personaje de barra de barra invertida
\b Imprime el personaje de Backspace
\norte Imprime la salida en una nueva línea
\ r Imprime un retorno de carro (cursor al comienzo de la línea)
\ t Da el espacio de la pestaña desde la derecha
\ V Da espacio de pestaña

Conclusión:

Cuando se trata de imprimir algo en las secuencias de comandos bash, el comando "Echo" se usa más comúnmente porque es fácil de usar y recuerda. Pero el comando "echo" tiene su limitación. Por lo tanto, para formatear correctamente la salida, el "Printf" El comando se puede usar. El "Printf" El comando viene con muchas opciones para formatear la salida de cadena e incluso las conversiones y el formateo de los números básicos. Esta guía comprende a fondo la funcionalidad del comando "printf" en scripting bash con ejemplos.