如何在 Docker 格式上左对齐 printf

How do you left align a printf on Docker format

我正在尝试使用 printf 将一组 docker service ps 调用对齐在一起,但是当我使用 printf

时它似乎在右边对齐
for service in $(command docker service ls --format "{{.Name}}")
do
  command docker service ps \
    --format "table {{ .Name | printf \"%20.20s\" }}\t{{ .Image | printf \"%40.40s\" }}\t{{ .Node | printf \"%20.20s\" }}\t{{.CurrentState}}\t{{.Error}}" \
    $service
done

如何使 printf 左对齐?

模板的printf函数使用了fmt包。 fmt 包文件有一个 - 标志:

- pad with spaces on the right rather than the left (left-justify the field)

所以不用

{{ printf "%20.20s" }}

简单使用

{{ printf "%-20.20s" }}