printf

El comando printf sólo está disponible en las shell más recientes. X/Open sugirió que debería usarse antes que echo para generar las salidas formateadas, pero parece que pocos han seguido el consejo.

La sintaxis es:

printf_ejemplo1

La cadena de formato es muy similar a la usada en C o C++, con algunas restricciones. Principalmente, no se acepta el punto flotante, porque toda la aritmética de la shell se ejecuta como enteros. La cadena de formato  está compuesta por una combinación de caracteres literales, de secuencias de escape y de especificaciones de conversión. Todos los caracteres de la cadena que no sean % y \ aparecen literalmente en los datos de salida. Se aceptan las secuencias de escape de la tabla de abajo:

secuencias_de_escape_tabla

El especificador de conversión es bastante complejo, por eso vamos a comentar únicamente los más usados. En el manual básico online podrá encontrar más información, así como en las páginas printf de la sección 1 del manual online (man 1 printf). (Si no lo encontramos en la sección 1 del manual, inténtelo en la sección 3). El especificador de conversión está compuesto de un carácter %, seguido de un carácter de conversión. Las principales conversiones aparecen en la siguiente tabla:

printf_tabla2

La cadena de formato se usa después para interpretar el resto de parámetros y para enviar el resultado, tal como  mostramos en el siguiente ejemplo:

ejemplo_printf

Al omitir la secuencia de escape \n al final, vemos que el prompt de comando aparece a continuación de la salida del comando printf. Vamos a corregir el problema:

ejemplo2_printf

Tenga en cuenta que debe usar las cadenas con comillas (” “) para proteger la cadena Estamos las y convertirla en un único parámetro.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s