我在unix系统上使用printf时遇到问题。每次我尝试打印以下内容时都会抛出错误
printf "%-15s %-15.2s" "Total Acounts:\nChecks=$" checks
检查应该是小数,但我已经尝试将其打印为浮点数和小数,并得到相同的错误。
fatal: not enough arguments to satisfy format string
`%-15s %-15.2sTotal Acounts:
Checks=$2135.92'
^
我已经在这方面工作了一段时间并且无法弄清楚,所以任何帮助都会受到赞赏。
答案 0 :(得分:5)
这不是你在awk中调用printf
的方式。您缺少表示参数的逗号。
您只给了printf
一个格式字符串("%-15s %-15.2s"
,"Total Acounts:\nChecks=$"
和checks
的值的连接)。
从错误消息中可以看到,该消息将整个字符串显示为格式字符串,并在字符串中包含checks
的值。
你可能意味着:
printf "%-15s %-15.2s", "Total Acounts:\nChecks=$", checks
#---------------------^---------------------------^
尽管%-15s
并没有真正对你做任何有用的事情,因为“总记录次数:\ nChecks = $”超过15个字符。