В чем разница между print и printf в awk?

В чем разница между print и printf в awk?

В awkчем разница между printи printf?

Есть ли какие-либо ограничения на использование только printвместо printfи наоборот?

решение1

Как говорится в руководстве GNU awk (gawk)http://www.gnu.org/software/gawk/manual/gawk.html#Печать

Используйте оператор print для создания вывода с простым стандартизированным форматированием. Вы указываете только строки или числа для печати в списке, разделенном запятыми. Они выводятся, разделенные одинарными пробелами, за которыми следует новая строка.

& и т. д.

Для более точного контроля над форматом вывода, чем тот, который предоставляется print, используйте printf. С помощью printf вы можете указать ширину, которую следует использовать для каждого элемента, а также различные варианты форматирования чисел (например, какую базу вывода использовать, печатать ли показатель степени, печатать ли знак и сколько цифр печатать после десятичной точки).

Итак, это в значительной степени объясняет различия и ограничения.

решение2

Распечатать:

  • «Печать» сама по себе печатает введенную строку.
  • «Print» с одним аргументом печатает аргумент.
  • «Print» с несколькими аргументами печатает все аргументы, разделенные пробелами (или другими указанными OFS), если аргументы разделены запятыми, или объединенные, если аргументы разделены пробелами.

printf:

Функция "printf()" (форматированная печать) гораздо более гибкая и хитрая. Она имеет следующий синтаксис:

 printf(<string>,<expression list>)

Разница:

Разница между printf и print заключается в аргументе формата. Это выражение, значение которого принимается как строка; оно указывает, как выводить каждый из других аргументов. Оно называется строкой формата.

Рекомендацииздесьиздесь

Связанный контент