E sobre:
printf "%x" 'stat -c "%b" PBL.bin'
printf imprimirá no formato hexadecimal (% x) a saída do stat que solicita apenas o número de blocos alocados (% b) do arquivo.
Se você não confiar no número de blocos alocados conforme relatado por stat, então, manualmente:
printf "%x" $(( ('stat -c "%s" PBL.bin ' - 1) / 512 + 1))
Então você pega o tamanho do arquivo e depois faz as contas manualmente