Was ist der Unterschied zwischen print und printf in awk?

Was ist der Unterschied zwischen print und printf in awk?

Was awkist der Unterschied zwischen printund printf?

Gibt es Einschränkungen bei der Verwendung von only printanstelle von printfund umgekehrt?

Antwort1

Wie das GNU awk (gawk-Handbuch sagt) beihttp://www.gnu.org/software/gawk/manual/gawk.html#Printing

Mit der print-Anweisung erzeugen Sie Ausgaben mit einfacher, standardisierter Formatierung. Sie geben in einer durch Kommas getrennten Liste nur die zu druckenden Zeichenfolgen oder Zahlen an. Sie werden durch einzelne Leerzeichen getrennt ausgegeben, gefolgt von einem Zeilenumbruch.

& usw.

Wenn Sie das Ausgabeformat genauer steuern möchten als mit print, verwenden Sie printf. Mit printf können Sie die Breite für jedes Element sowie verschiedene Formatierungsoptionen für Zahlen festlegen (z. B. welche Ausgabebasis verwendet werden soll, ob ein Exponent gedruckt werden soll, ob ein Vorzeichen gedruckt werden soll und wie viele Ziffern nach dem Dezimalpunkt gedruckt werden sollen).

Dies erklärt im Wesentlichen die Unterschiede und Einschränkungen.

Antwort2

drucken:

  • „Drucken“ allein druckt die Eingabezeile.
  • „Drucken“ mit einem Argument druckt das Argument.
  • „Drucken“ mit mehreren Argumenten druckt alle Argumente, getrennt durch Leerzeichen (oder andere angegebene OFS), wenn die Argumente durch Kommas getrennt sind, oder aneinandergereiht, wenn die Argumente durch Leerzeichen getrennt sind.

druckenf:

Die Funktion „printf()“ (formatierter Druck) ist viel flexibler und kniffliger. Sie hat die Syntax:

 printf(<string>,<expression list>)

Unterschied:

Der Unterschied zwischen printf und print ist das Formatargument. Dies ist ein Ausdruck, dessen Wert als Zeichenfolge übernommen wird. Er gibt an, wie jedes der anderen Argumente ausgegeben werden soll. Er wird als Formatzeichenfolge bezeichnet.

VerweiseHierUndHier

verwandte Informationen