Use find :
find DFT*/OSZICAR -size -10c -printf "%hfind DFT*/OSZICAR -size -10c -exec sh -c 'rm -r $(dirname "$1")' sh {} \;
" | xargs -r0 rm -r
-
findprocura por todos os arquivos dentro de um diretórioDFT*chamadoOSZICAR, cujo tamanho de arquivo é menor que 10 bytes; ocsignifica bytes. - Em seguida,
findimprime o nome do diretório%hem que o arquivo foi encontrado (DFT105, por exemplo), finalizado por um byby%xargs - Isso é canalizado para
-0, que lê a linha terminada por um nullbyterm -re chamaxargsem todos eles.
Eu recomendo chamar o comando sem a parte find , para verificar se tudo funciona corretamente, antes de deletar qualquer coisa.
Editar: Se o seu -printf não aceitar a opção %code% (como o OSX), use isso:
find DFT*/OSZICAR -size -10c -printf "%hfind DFT*/OSZICAR -size -10c -exec sh -c 'rm -r $(dirname "$1")' sh {} \;
" | xargs -r0 rm -r