Como excluir links simbólicos quebrados de uma só vez?

3

Eu criei links simbólicos para uma grande quantidade de arquivos de log. A sintaxe dos arquivos de log é yyyymmdd.log.gz.

Para simplificar, uso uma sequência simples sem analisá-la com date :

for dd in $(seq -w 20150101 20151231) ; do 
     ln -s $origin/$dd.log.gz $target/$dd.log.gz
done

Como faço para me livrar de todos os links simbólicos quebrados que acabei de criar em uma só penada?

    
por runlevel0 07.10.2016 / 15:24

1 resposta

9

Este simples liner faz o trabalho bem rápido, requer o GNU find :

find . -xtype l -delete

Um pouco de explicação:

-xtype l testa os links que estão quebrados (é o oposto de -type )

-delete exclui os arquivos diretamente, sem necessidade de incomodar ainda mais com xargs ou -exec

GNU Findutils: Encontre

    
por 07.10.2016 / 15:24