Como excluir pastas para remoção ao usar (rm -rf *) no diretório pai

1

eu executo a seguinte linha de comando para remover todos os arquivos / diretórios no diretório:

       cd /home/abdennour/android/

       rm -rf *

a arquitetura deste diretório é a seguinte:

   /home/abdennour/android/
   /home/abdennour/android/documents/
   /home/abdennour/android/documents/medialib/
   /home/abdennour/android/documents/preview/
   /home/abdennour/android/fixtures/
   /home/abdennour/android/images/
   /home/abdennour/android/images/hard/
   /home/abdennour/android/images/mlibrary/
   /home/abdennour/android/images/mlibrary/thumbs/
   /home/abdennour/android/js/ 
  .....

Eu quero remover todos com a exclusão dos seguintes diretórios:

  /home/abdennour/android/documents/
  /home/abdennour/android/images/mlibrary/
    
por Abdennour TOUMI 23.10.2013 / 10:19

2 respostas

1

Você pode usar a variável de ambiente GLOBIGNORE . Suponha que você queira excluir o everithing, exceto /home/abdennour/android/documents/ e /home/abdennour/android/images/mlibrary/ , então você pode fazer o seguinte:

cd /home/abdennour/android/
export GLOBIGNORE="documents:images"
rm -rf *
cd images
export GLOBIGNORE="mlibrary"
rm -rf *
export GLOBIGNORE=""
    
por Radu Rădeanu 23.10.2013 / 10:52
-1

Como a lista desses diretórios que você não deseja remover é muito curta e parece não se encaixar em nenhum padrão óbvio, acho que você só precisará mover esses diretórios para algum lugar antes de excluir o resto.

    
por fpnick 23.10.2013 / 10:22