Daemonio
(usa Slackware)
Enviado em 24/05/2010 - 22:44h
Hum .. você quer apagar tudo menos essas pastas/arquivos né?
Não sei se tem uma expansão de glob do bash que retorna as entradas que NÃO casam, já que a sintaxe !(aa|bb|) não é válida...
Você pode listar os arquivos do diretório, filtrar com o grep e mandar a saída para o rm, assim:
NOMES="Documentos|Download|examples\.desktop|Imagens|Modelos|"
NOMES="$NOMES|Música|NVIDIA_GPU_Computing_SDK|"
NOMES="$NOMES|Público|Vídeos|\.netbeans.*|\.bash.*|Área de Trabalho"
Detalhes (glob para regexp):
examples.desktop --> vira --> examples\.desktop
.netbeans* --> vira --> \.netbeans.*
.bash* --> vira --> \.bash.*
Montando o monstro:
$ ls | grep -wEv "($NOMES)" | xargs -i echo '--> {} <--'
Botei um echo só para você ver se são esses arquivos que você quer deletar, se são, então utilize o comando:
$ ls | grep -wEv "($NOMES)" | xargs -i rm -rf '{}'
Teste aí e diga se é isso mesmo!
t+