tl;dr - Pase -prune si está eliminando directorios usando find .
Para cualquier otra persona que tropiece con esta pregunta. Ejecutando un ejemplo como este
find /media/disk3 -type d -name .AppleDouble -exec rm -rf {} \;
da como resultado un error como
rm: cannot remove 'non_existent_directory': No such file or directory
Al buscar y eliminar directorios con find, a menudo encontrará este error porque find almacena el directorio para procesar subdirectorios, luego lo elimina con exec , luego intenta recorrer los subdirectorios que ya no existen.
Puedes pasar -maxdepth 0 o -prune para prevenir este problema. Así:
find /media/disk3 -type d -name .AppleDouble -prune -exec rm -rf {} \;
Ahora elimina los directorios sin ningún error. ¡Viva! :)
No necesita escapar de DOT en shell glob ya que esto no es expresión regular. Así que usa .AppleDouble en lugar de \.AppleDouble :
find $DIRTY_DIR -name .AppleDouble -exec rm -rf '{}' \;
PD: No veo por ningún lado $COUNTER siendo incrementado en su secuencia de comandos.