Como deletar recursivamente um tipo de arquivo no Linux em um diretório e todos os seus subdiretórios

Exclua recursivamente um tipo de arquivo

Certamente em alguma ocasião você verificou que tem um tipo de arquivo inútil em várias pastas, que ocupa pouco espaço, mas você simplesmente não o quer no seu computador. Por exemplo, no macOS, alguns arquivos são criados .DS_Store que salvam informações sobre o ícone de uma pasta, seu tamanho e posição, e no Windows existem desktop.ini que são equivalentes. O que faremos se tivermos um diretório cheio de subdiretórios e quisermos excluir esses ou outros tipos de arquivos? O que temos que fazer é apagar recursivamente Cada um deles.

Isso é algo que podemos fazer com todos os tipos de arquivos. Por exemplo, se temos um disco rígido cheio de música, temos um player que baixou as capas e não queremos que sejam salvas, podemos usar o mesmo comando que detalharemos a seguir para excluí-las. Claro, levando em consideração que iremos deletar recursivamente arquivos de diretório e seus subdiretórios com o terminal e que estes serão perdidos para sempre, não faz mal ser cuidadoso e / ou faça um teste antes de excluir tudo o que queremos excluir.

Exclua recursivamente arquivos de um tipo do terminal

Os comandos para os arquivos .DS_Store do macOS de exemplo seriam os seguintes:

cd ruta/a/directorio
find . -name '*.DS_Store' -type f -delete

Dos comandos anteriores, o primeiro nos colocará na pasta onde queremos começar, ou seja, aquela que contém todos os arquivos .DS_Store que queremos deletar. O segundo é o que excluirá todos os arquivos .DS_Store do primeira pasta e suas subpastas ou diretórios. Se o que queremos é excluir as fotos das pastas de música mencionadas anteriormente, temos que colocar o tipo de extensão entre as aspas, como '* .jpg'.

Para ser 100% honesto, isso é algo que farei no dia em que parar de usar o Cantata como reprodutor de música padrão. Cantata cria e oculta arquivos de informação com o mesmo nome das músicas que têm um ponto e uma barra baixa na frente deles (por exemplo, ._Song). Quando eu precisar, o comando que terei que usar será achar. -nome '._ *' -tipo f -excluir.

Este pequeno guia o ajudou a excluir arquivos recursivamente do terminal?

Comando Grep
Artigo relacionado:
Comando Grep: ferramenta poderosa para encontrar texto do Terminal

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Sebastian castro dito

    Obrigado, mas há um erro no seu código. Você precisa usar a expressão regular '*', que é '* .DS_STORE'. Eu recomendo que você corrija isso. Bem, para quem tem menos conhecimento de bash, o código que você deu não funcionará. Saudações!