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: