Although I am learning shell scripts, there is a sample line that I can not understand in a tutorial on the page below.
http://linuxcommand.org/lc3_wss0130.php

Could anybody tell me the first line's meaning in the code below?
These lines are modified from the original code to shorten.

Code:
format="%8s%10s%10s   %-s\n"
printf "$format" "Dirs" "Files" "Blocks" "Directory"

total_dirs=$(find $HOME -type d | wc -l)
total_files=$(find $HOME -type f | wc -l)
total_blocks=$(du -s $HOME)

printf "$format" $total_dirs $total_files $total_blocks
###


My questions are about the second half of the fist line.


1) About the usage of "space":


If there are 3 spaces between $3 and $4 in the "format", the outputted line also has 3 space between $3 and $4?

2) About "%-s\n" part:


What is the meaning of "-(hyphen)" in this sample code?
I got same output result, even if I removed it.

###

Thank you for reading and I am waiting for your help!