Com matrizes Bash:
arr=(*.dat)
count=${#arr[@]}
Para quebrar isso, ${arr[@]}
fornece todos os elementos da matriz, e #
fornece a contagem na expansão do parâmetro (na verdade, ele fornece o tamanho da string, mas para as matrizes é a contagem).
Veja também no Wiki do Bash Hackers: