¿Cuál es la diferencia entre print y printf en awk?

¿Cuál es la diferencia entre print y printf en awk?

¿ En awkcuál es la diferencia entre printy printf?

¿Existe alguna restricción para usar solo printen lugar de printfy 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.

Referenciasaquíyaquí

información relacionada