printf没有打印过去'.' 在字符串中

Gra*_*da3 1 unix formatting awk printf

我在unix系统上使用printf时遇到问题.每次我尝试打印以下内容时都会抛出错误

printf "%-15s %-15.2s" "Total Acounts:\nChecks=$" checks
Run Code Online (Sandbox Code Playgroud)

检查应该是小数,但我已经尝试将其打印为浮点数和小数,并得到相同的错误.

fatal: not enough arguments to satisfy format string
    `%-15s %-15.2sTotal Acounts:
    Checks=$2135.92'
                ^
Run Code Online (Sandbox Code Playgroud)

我已经在这方面工作了一段时间,无法弄明白,所以任何帮助都表示赞赏.

Eta*_*ner 5

那不是你printf用awk 打电话的方式.您缺少表示参数的逗号.

你给printf只有一个格式字符串(的串联"%-15s %-15.2s","Total Acounts:\nChecks=$"和值checks).

正如您在错误消息中看到的那样,它将整个字符串显示为格式字符串,并包含字符串中的值checks.

你可能意味着:

printf "%-15s %-15.2s", "Total Acounts:\nChecks=$", checks
#---------------------^---------------------------^
Run Code Online (Sandbox Code Playgroud)

虽然%-15s没有真正对你做任何有用的事情,因为"总累积次数:\n检查= $"超过15个字符.