Encontre e exclua todos os arquivos sem extensões com uma pasta e suas subpastas

12

Eu tenho uma pasta sem cerca de 500 subdiretórios. Há muito lixo a ser encontrado e eu quero limpá-lo.

Eu já excluí certos tipos de arquivos que eu não quero, como imagens, com este comando:

find . -mindepth 1 -iname "*.jpg" -type f -delete

No entanto, agora quero excluir todos os arquivos sem extensão. Arquivos como "Lista de compras" em vez de "Lista de compras.txt"

Eu tentei o seguinte comando, mas não funcionou:

find . -mindepth 1 ! -iname "*.*" -type f -delete
    
por etsnyman 15.05.2014 / 10:25

2 respostas

15

Tente isto:

find . -type f  ! -name "*.*"  -delete

No entanto, observe que o acima não excluirá arquivos cujo nome termine em . , por exemplo, foo. . Para excluí-los também, use isso:

find . -type f  ! -name "*.?*" -delete
    
por terdon 15.05.2014 / 10:36
2

Você pode usar:

find . -type f ! -name "*.*" -delete
    
por Radu Rădeanu 15.05.2014 / 10:35