我想通過命令行使用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。