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

cat /etc/passwd | awk -F : '{print $1}' > alluser.txt

7
06.11.2015, 04:54
2 ответа

Как сказано в GNU awk (руководство gawk) по адресу http://www.gnu.org/software/gawk/manual/gawk.html#Printing

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

и т. Д.

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

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

7
27.01.2020, 20:16

print:

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

printf:

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

 printf(<string>,<expression list>)

Difference:

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

Ссылки здесь и здесь

4
27.01.2020, 20:16

Теги

Похожие вопросы