De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Ainda uma outra dica do GNU find

Colaboração: Mário Jorge Limeira dos Santos

Data de Publicação: 13 de janeiro de 2016

Olá pessoal. Imaginem que vocês tem um diretorio chamado por exemplo album com arquivos de diferentes extensões incluindo umas músicas em ogg e você quer excluir algumas dessas músicas menos uma ou duas que são as suas favoritas. Para isso vamos utilizar a ferramenta GNU find. Vamos ao exemplo.

Usando o terminal, estando dentro do diretorio album:

~/album$ ls
favorita.ogg  folder.jpg  letras.txt  musica.ogg  naopresta.ogg  qualquer.ogg

Excluindo todos os arquivos .ogg menos o 'musica.ogg':

~/album$ find . ! -name musica.ogg -name \*.ogg -delete

Excluindo todos os os arquivos .ogg menos 'musica.ogg' e 'favorita.ogg':

~/album$ find . ! \( -name musica.ogg -o -name favorita.ogg \) -name \*.ogg -delete

Se tiver arquivos com extensão em letras maiúsculas é só utilizar a opção -iname em vez de -name para que o find realize a busca case insensitive.

Obviamente é possível utilizar o mesmo conceito e o comando find para diversas outras situações e contextos. É possível também encontrar outras ótimas dicas sobre o comando find aqui mesmo no dicas-l ou ainda todas as opções no manual do find:

$ man find
Mário Jorge é Analista de TI do IFCE, entusiasta e defensor da liberdade do ser humano, do software, do conhecimento e da cultura livres. https://diasporabr.com.br/i/651382b44715


Veja a relação completa dos artigos de Mário Jorge Limeira dos Santos