
¿ En awk
cuál es la diferencia entre print
y printf
?
¿Existe alguna restricción para usar solo print
en lugar de printf
y viceversa?
Respuesta1
Como dice el GNU awk (el manual de gawk) enhttp://www.gnu.org/software/gawk/manual/gawk.html#Impresión
Utilice la declaración de impresión para generar resultados con un formato simple y estandarizado. Usted especifica solo las cadenas o números a imprimir, en una lista separada por comas. Se muestran separados por espacios simples y seguidos de una nueva línea.
& etc.
Para un control más preciso sobre el formato de salida que el que proporciona print, utilice printf. Con printf puede especificar el ancho a usar para cada elemento, así como varias opciones de formato para los números (como qué base de salida usar, si imprimir un exponente, si imprimir un signo y cuántos dígitos imprimir después del punto decimal).
Esto explica en gran medida las diferencias y restricciones.
Respuesta2
imprimir:
- "Imprimir" por sí solo imprime la línea de entrada.
- "Imprimir" con un argumento imprime el argumento.
- "Imprimir" con múltiples argumentos imprime todos los argumentos, separados por espacios (u otro OFS especificado) cuando los argumentos están separados por comas, o concatenados cuando los argumentos están separados por espacios.
imprimirf:
La función "printf()" (impresión formateada) es mucho más flexible y complicada. Tiene la sintaxis:
printf(<string>,<expression list>)
Diferencia:
La diferencia entre printf e print es el argumento de formato. Esta es una expresión cuyo valor se toma como una cadena; especifica cómo generar cada uno de los demás argumentos. Se llama cadena de formato.