Com o GNU find
e o GNU coreutils
, e supondo que seus diretórios não tenham novas linhas em seus nomes:
find ~/foo -mindepth 1 -maxdepth 1 -type d -exec du -ks {} + | awk '$1 <= 50' | cut -f 2-
Isto irá listar diretórios com conteúdo total menor que 50K. Se você estiver satisfeito com os resultados e quiser excluí-los, adicione | xargs -d \n rm -rf
ao final da linha de comando.