Modificadores para los formatos de printf AWK


Una especificación de formato también puede incluir modificadores que controlan como son impresos los valores de los items y cuanto espacio ocuparán. Los modificadores vienen entre el signo ‘%’ y la letra de control de formato. Aquí están los posibles modificadores, en el orden en el cual podrían aparecer:

Indicardor Descripción
`-'
El signo menos, usado antes del modificador de ancho, especifica que se justifique a la izquierda el argumento dentro de la anchura especificada. Normalmente el argumento se ajusta  a  la derecha dentro del ancho especificado. Por lo que,

printf "%-4s", "foo"

imprime `foo '.
`ancho'
Este es un número que representa el ancho deseado para un campo. La inserción de cualquier número entre el signo ‘%’ y el carácter de control de formato fuerza a que el campo se expanda a este ancho. El modo por defecto para hacer esto es rellenando con espacios en blanco por la izquierda. Por ejemplo,

printf "%4s", "foo"

imprime ` foo'.

El valor de ancho es un ancho mínimo, no un máximo. Si el valor del item requiere más de ancho caracteres, podrá ser tan ancho como necesite. Por lo que,

printf "%4s", "foobar"

imprime `foobar'. Precediendo el ancho con un signo menos hace que la salida sea rellena con espacios en blanco por la derecha, en lugar de por la izquierda.

`.precisión'
Este es un número que especifica la precisión que se debe usar cuando se imprima. Esto especifica el número de dígitos que quieres imprimir a la derecha del punto decimal. Para una cadena, especifica el número máximo de caracteres que se imprimirán de dicha cadena.
La capacidad de ancho y precisión dinámicos de la sentencia printf de la librería de C (por ejemplo, "%*.*s") todavía no está soportada. Sin embargo, se puede simular facilmente usando la concatenación para construir dinámicamente la cadena de formato.


Publicar un comentario

0 Comentarios