Вот так попробуйте, у вас там похоже слетело распознавание даты из-за изменения версий date и/или stat, я переделал на timestamp.
SUB=$(date -d"@$(stat -c%Y "${F}")" +%Y%m%d:%H)
Если не сработает - скиньте вывод вот такой команды:
F="/tmp/test.txt"; touch $F && stat -c%Y $F && unlink $F;
UPD: выяснилось, что у автора FreeBSD, там другие coreutils, поэтому итоговая команда вот такая:
SUB=$(date -j -f"%s" "$(stat -f %m $F)" +%Y%m%d:%H)
Вот источники информации, если кому интересно:
man statman datedate reformattimezone