{ find . -type l -exec readlink {} \; ; find . -type d -exec basename {} \; ; } | sort | uniq -u | tail -n +2 | xargs rmdir
Em câmera lenta:
-
find . -type l -exec readlink {} \;encontra os links e lista os diretórios correspondentes -
find . -type d -exec basename {} \;encontra e lista os diretórios - a saída dos comandos entre chaves lista todos os diretórios uma vez, exceto aqueles que são o destino de links que aparecem duas vezes
-
sort | uniq -u | tail -n +2mantém apenas os nomes exclusivos (portanto, os diretórios aos quais não estão vinculados) e remove. -
xargs rmdirelimina os diretórios. Substitua porrm -rpara remover seu conteúdo.