Como um passo único, você pode percorrer todos os arquivos e reunir o nome do subdiretório desejado; se esse subdiretório ainda não existir, crie-o; em seguida, mova esse arquivo para esse subdiretório:
for f in *.png
do
subdir=${f%%.*}
[ ! -d "$subdir" ] && mkdir -- "$subdir"
mv -- "$f" "$subdir"
done
A parte principal disso é a expansão de parâmetro em ${f%%.*}
, que diz para remover a parte correspondente mais longa ( %%
) de um período seguido por qualquer coisa, que efetivamente exclua, por exemplo, as porções .AVI00003.png
dos nomes de arquivos, deixando apenas o indicador do diretório principal.