Eu encontrei a resposta aqui ... e a modifiquei para as minhas necessidades:
for f in 12*; do
dir='/foo/bar/'$(stat -f%Sm -t%Y-%m "$f")
[ -d "$dir" ] || mkdir "$dir"
mv -nv "$f" "$dir"/
done
Você pode substituir o m
em -f%Sm
por qualquer um dos seguintes:
a, m, c, B
- O arquivo de hora foi o último a ccessed ou m odificado, de quando o inode foi último c enforcado, ou o B irth tempo do inode.