El formato de texto es un tema interesante, especialmente cuando se negociación de Bash. Si perfectamente existen muchas herramientas para formatear texto, printf es único y universal. ¡Aprenda todo sobre printf en Bash para formatear su texto de la forma correcta!
 Dónde y cómo comprar Dogecoin en Colombia y latinoamerica – ¿Qué es Dogecoin? Hoy, veremos una de las criptomonedas más exclusivas: Dogecoin y descubriremos dónde y cómo comprar Dogecoin. En esta guía, aprenderá qué es Dogecoin, …
Leer Más  Que es FP Markets 2020? Para que sirve y como funciona? FP Markets fue fundada en 2005. La firma de corretaje FP Markets también es conocida como First Prudential Markets . Son más conocidos …
Leer Más  Que es Interactive Brokers y para que sirve? Como Ganar dinero? Este corredor en línea tiene tarifas de negociación bajas y una amplia cartera de instrumentos financieros. Cubriendo más de 135 mercados …
Leer Más  Que es eToro? para que sirve y como funciona la plataforma para ganar dinero eToro es una plataforma de comercio en línea, conocida por su función de comercio social, fundada en 2007. Este corredor …
Leer Más  Que es IQ Option para que sirve y como descargar la app para ganar dinero Fundada en 2013, IQ Option es parte de la empresa matriz IQ Option Ltd. Su plataforma comercial ofrece a los …
Leer Más
Utilizando printf en Bash
C ++ y otros desarrolladores ya estarán familiarizados con printf como una excelente forma de formatear la salida de texto al programar. Tener la misma utensilio acondicionado en Bash es de gran beneficio. printf le permite controlar y producir formatos de salida complejos, tal como lo desea. La página del manual de printf define printf como una utensilio de ‘formato e impresión de datos’, que es exactamente lo que es y hace.
Por ejemplo, ¿le gustaría imprimir un número fracción con una distancia exacta de 3 bytes (o caracteres / números) para la parte entera (la parte antiguamente del punto fracción o coma, dependiendo de en qué parte del mundo viva y cuál es su locale es) y 2 bytes (o caracteres / números) para la parte fracción del número? No hay problema, printf puede hacerlo y mucho más. Igualmente podría mandar el texto a una columna específica en la pantalla, etc.
Aunque la sintaxis de printf, para un desarrollador nuevo, puede parecer confusa o compleja, en efectividad es proporcionado sencilla. Solo hay un conjunto restringido de caracteres de formato comúnmente empleados que se pueden usar en el interior de una definición de salida de printf. Echemos un vistazo a estos primero.
Sintaxis: printf
Estos son los más utilizados sintaxis printf modismos de formato de números:
%d or %i a signed fracción integer %u an unsigned fracción integer %f a fracción floating point number %e a scientific notation number %g will let printf use %e or %f, whichever is shorter %c a single character %s a string of characters %% a idéntico '%'
A continuación, es bueno enterarse cómo especificar opciones específicas en relación con estos modismos de formato. El formato para especificar opciones para estos es el sucesivo:
%[flag(s)][width][.precision][length]number_formatting_idiom
Ejemplos: printf
Entonces, por ejemplo, para tener un flotante con un satisfecho de 3 y una precisión de 2, debe especificar:
%3.2f
Veamos un ejemplo:
printf "%3.2fn" "100.304"
Pin it
Sencillo y sencillo. Tenga en cuenta que podríamos activo utilizado una variable en puesto de “100.304”:
VAR1=100.304 printf "%3.2fn" ${VAR1}
Pin it
Tenga en cuenta asimismo cómo agregamos una nueva recta usando un n secuencia de nueva recta. Para obtener una serie completa de las secuencias interpretadas disponibles, consulte man printf. Los mas comunes son n para nueva recta, t para pestaña y para una mostrador invertida.
En el formato de opciones preliminar asimismo vimos cómo podemos especificar banderas. Hay una cantidad limitada de banderas comunes:
- Left-justify text (right-justify is the default) + Forces the use of a sign, even if positive ' ' A space is inserted if no sign will be used 0 Left-pad the number with zeroes instead of spaces when padding is specified
Así, por ejemplo, podemos tener:
VAR1=-100.304 VAR2=100.304 printf "% 3.2ftt%+3.2fn" ${VAR1} ${VAR2}
Pin it
Aquí usamos dos variables y separamos la salida por dos pestañas usando dos t secuencias de pestañas. Igualmente insertamos un espacio (como una bandera) entre % y la definición de satisfecho. Esto llevó al número agorero en VAR1 a imprimir con un signo agorero. Si el número hubiera sido positivo, no se habría impreso ningún signo y, en cambio, se habría impreso un espacio en la misma posición.
Finalmente usamos el + bandera y, de hecho, nuestro número se emite con una + signo independientemente del hecho de que el número ya es positivo y por lo tanto (normalmente) no se imprimirá ningún signo.
Entonces, ¿cómo podemos asegurarnos de que tenemos ceros o espacios a la izquierda, sin dejar de tener una distancia específica? Primero, tenemos que asegurarnos de que el satisfecho de nuestra definición sea más espléndido que el contenido variable, y en segundo puesto podemos usar el 0 bandera para mostrar ceros a la izquierda:
VAR1=-100.304 VAR2=100.304 printf "% 13.2fn%013.2fn%13.2f" ${VAR1} ${VAR2} ${VAR1}
Pin it
En este ejemplo, imprimimos 3 líneas, separadas dos veces por el n secuencia de nueva recta. Inmediatamente notamos que si no hay una nueva recta al final de la salida, nuestro indicador Bash regresa específicamente al final de nuestra tercera recta de salida.
Puede que este no sea un formato agradable o práctico en modo interactivo en la terminal, pero desde en el interior de un script (piense, por ejemplo, en una secuencia como 1…2…3… que se construye paso a paso en la pantalla a medida que se avanza en el interior del código) esto puede ser muy útil.
En la segunda recta de salida, usamos el 0 bandera para indicar que nos gustaría usar ceros a la izquierda para VAR2. De hecho, la salida produce ceros a la izquierda, hasta la distancia definida.
En la primera recta de salida, insertamos un espacio mientras que en la tercera recta de salida (los dos imprimiendo el VAR1 variable) no lo hicimos. La salida es la misma, que es la única ridiculez que encontré mientras trabajaba con printf; uno esperaría que hubiera un carácter adicional hexaedro el definición de bandera de espacio printf. Esto sigue siendo el mismo incluso si usáramos ceros iniciales. Igualmente permanece igual si no se especifica una distancia.
Luego, la usabilidad de la bandera espacial puede ser limitada en algunos casos (números negativos). Este no es el caso de los números positivos:
VAR1=100.304 printf "% fn%0fn" ${VAR1} ${VAR1}
Pin it
En este caso (números positivos), el bandera espacial funciona como se esperaba, y se inserta un espacio extra en el caso de la primera VAR1 salida.
Conclusión
El uso de printf desde en el interior de los scripts Bash o en la recta de comando puede producir una salida clara y perfectamente definida. Si escalera las variables correctamente (y quizás el rango, verifíquelas con certeza), usando printf le dará un método flexible para formatear la salida (y el diseño genérico de la pantalla para aplicaciones más grandes) como usted elija.
En este artículo, analizamos los modismos de formato de números de uso popular, cómo constreñir el satisfecho de la parte entera y fracción de los números, y revisamos las banderas más utilizadas en printf. ¡Disfrute imprimiendo datos perfectamente formateados con printf!