Tuesday, September 13, 2011

fatal: not enough arguments to satisfy format string

Деколи про роботі з awk, а саме printf виникає помилка atal: not enough arguments to satisfy format string

наприклад:
tail -5000   /var/log/nginx/access.log |awk '{ if ( $1 = IP)  printf $_ }'
....  "awk: (FILENAME=- FNR=36) fatal: not enough arguments to satisfy format string


Усунути її можна 2 способами:

  1. використовувати printf  "%s", $_   (чи printf  "%s", $1 - відповідно що саме потрібно вивести) , наприклад:
     tail -5000   /var/log/nginx/access.log |awk '{ if ($1 = IP)  printf "%s", $_ }'
  2. або можна виокристати просто print,  наприклад:
     tail -5000   /var/log/nginx/access.log |awk '{ if ($1 = IP)  print $_ }'

No comments: