Você pode usar set
, processar lotes de 100 arquivos por meio de "${@:START:COUNT}"
(intervalo de parâmetros posicionais) e shift 100
ao incrementar um contador c
para criar os diretórios:
set -- *.pdf
c=1
while (($#)); do
mkdir ${c}
if [ $# -ge 100 ]; then
mv -- "${@:1:100}" ${c}
c=$((c+1))
shift 100
else
mv -- "${@}" ${c}
shift $#
fi
done