我想通过命令行使用awk的printf生成填充日期的SQL。我使用的代码是:使用awk填写SQL日期
awk 'BEGIN{ printf " convert_tz(time,\047GMT\047,\047America/New_York\047) as timestamp , date_format(convert_tz(time,\047GMT\047,\047America/New_York\047), \047\045Y\045m\045d \045H\045i\045s\047) as dt from table where time >= convert_tz(%s,\047America/New_York\047,\047GMT\047) and time <= convert_tz(%s + interval 1 day ,\047America/New_York\047,\047GMT\047);", "2011-01-01", "2011-01-01"}'
我相信我有逃逸正确的,但我得到以下结果:
awk: fatal: not enough arguments to satisfy format string
没有人有,为什么%s
不被抓到一个想法,填充?
我使用的特定版本的awk是GNU Awk 3.1.6。