Como excluir todos os arquivos no diretório atual, mas manter os arquivos nas subpastas

1

Eu tenho uma estrutura como essa

  • file_1
  • arquivo_2 ...
  • file_n
  • pasta1 /
    • sub_file_1
    • sub_file_2

Eu só quero excluir o arquivo_1, o arquivo_2 e o arquivo_n, mas manter todas as pastas e arquivos neles.

    
por lukaszett 02.06.2016 / 14:59

2 respostas

2

Basta executar:

rm *

É simples assim. Ele não tocará nos diretórios, a menos que você adicione o sinalizador -R ou -r:

rm -r *

Se você também quiser excluir diretórios vazios, adicione o sinalizador --dir:

rm --dir *
    
por anonymous2 02.06.2016 / 15:01
2

rm sem o -r , desabilitando o sinalizador de remoção do diretório recursivo e o shell globbing:

rm /path/to/dir/*

Adicione o -f se você não quiser ser solicitado.

Você também pode usar find :

find /path/to/dir -maxdepth 1 -type f -exec rm -rf '{}' \;

que funciona por causa de um maxdepth de 1, selecionando apenas arquivos de nível superior.

    
por UniversallyUniqueID 02.06.2016 / 15:03