macosbashawk

Awk strftime on Mac OS X


The following command on my Mac (10.6) gives me an undefined function error:

$ awk 'BEGIN{now=strftime("%D", systime()); print now}'
awk: calling undefined function strftime
 source line number 1

On a Red Hat system, I get the expected result:

$ awk 'BEGIN{now=strftime("%D", systime()); print now}'
12/01/09

What's the deal here?


Solution

  • strftime is a GNU gawk extension. If you want to use strftime, download GNU gawk and install on your Mac. Otherwise, there are other tools like Perl/Python you can use. Check if you have them on your Mac